The constraint was intentional. Proving enterprise-grade AI screening on zero budget is the product thesis for lean hiring teams. If the system required paid tiers to function it would fail its own premise.
Visual workflow architecture enables faster debugging, modular extension, and observable execution logs. Every node’s input and output is inspectable in real time. A custom backend would have been faster to write and significantly harder to debug when a PDF parsing edge case surfaced at 1am.
Cost efficiency at scale. Gemini API pricing is significantly lower for the evaluation volume a growing hiring team would process. The architecture is LLM-agnostic — swapping models requires changing one credential in one node.
The original architecture used two Gemini calls — one for evaluation and one for email generation. This doubled API cost, doubled failure surface, and added 5 to 8 seconds of latency. Combining both into one structured prompt eliminated all three problems simultaneously. The email draft quality did not degrade.
Persistent webhook uptime on a self-hosted instance without opening firewall ports. The tunnel handles ingress cleanly and adds a security layer at zero cost. This was the decision that made 24/7 reliability possible without a managed cloud service.
SQL structure enables filtered, sorted history queries that NoSQL makes unnecessarily complex. The built-in REST API eliminates a dedicated backend layer. Free tier handles hiring-team-scale volume without cost.
Direct PDF file upload via multipart form data adds significant complexity to both the frontend and backend. Base64 encoding lets the frontend convert the file client-side using the FileReader API and send a standard JSON payload. The backend converts back to binary for extraction. The tradeoff is a slightly larger request payload — acceptable at resume file sizes under 5MB.