Why Free Infrastructure as a Constraint

The constraint was intentional. Proving enterprise-grade automation on zero budget is itself the product thesis for SMB founders. If the system required paid tiers to function, it would fail its own premise.


Why n8n Over a Custom-Coded Backend

Visual workflow architecture enables faster debugging, modular extension, and observable execution logs. A custom backend would have been faster to write and harder to maintain. The orchestration clarity n8n provides is worth the minor latency overhead.


Why Gemini Over GPT-4

Cost efficiency at scale. Gemini API pricing is significantly lower for the evaluation volume a growing SMB would process. The architecture is LLM-agnostic — swapping models requires changing one node.


Why Cloudflare Zero Trust Over Traditional Server Exposure

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.


Why Supabase Over Firebase

SQL structure enables filtered, sorted dashboard queries that NoSQL makes unnecessarily complex. The built-in REST API eliminates a dedicated backend layer. Free tier handles SMB-scale volume without cost.


Why Score Threshold at 80 and Not 70

The Slack notification is an interruption. Every false positive erodes trust in the system. The threshold must be high enough that every notification feels urgent and worth acting on. Tested against 20+ submissions before locking at 80.


Biggest Technical Failure and What It Taught

The initial implementation used a generic JSON parsing approach that broke whenever Gemini returned a response with embedded newline characters inside string values. This caused 400 errors on the Supabase insert in production.