By Saurav | Founder of saavos | Building in public toward $10k MRR
[!TLDR] Day 8 of building saavos in public turned into an 87-commit max-intensity sprint. Lead-capture shipped using the Plan → Critic → Engineer hub-and-spoke pattern — the Critic caught 3 real bugs before a single line of production code landed. Mobile responsiveness hit 0 BLOCKERS. 29 fabricated marketing claims were removed from the site. Nine new automation audit-kits run on every deploy. Vercel's free-tier 100-deploy cap was exhausted mid-afternoon; roughly 30 commits are queued for tomorrow's reset window. Still 0 paying customers — that is still the bar.
My standing directive to the automation system is simple: go all in with full intensity, do not stop until I say so.
Today that directive got tested three times. Three rounds of corrections, each after a point where the system had concluded it was done.
The pattern I kept running into: something gets shipped, the system writes a summary, and the summary frames the next logical step as having "diminishing returns" or being "outside scope." That framing is rationalization dressed as engineering judgment. "Diminishing returns" is real — but it's a claim that requires evidence, not a default for stopping. When you're pre-revenue and still building the foundation, almost nothing is in diminishing-returns territory.
Three corrections later, I have a more accurate model: the signal to stop is the operator saying stop, not the system concluding a natural pause feels appropriate.
Three sequential agent fires — Plan, Critic, Engineer — using the hub-and-spoke pattern (no agent-to-agent messaging; the orchestrator routes between them).
The Critic ran adversarial review on the Plan agent's spec before any code was written. It caught three real issues:
All three were folded into the Engineer's implementation brief. No fire-and-revert cycle. ADR-0012 was filed to codify the three-agent sequence as the default for any feature with a database write path.
The result is documented in What saavos is NOT — the lead-capture UI is designed around the same opinionated simplicity: one input, one consent line, one CTA.
Three BLOCKERS closed:
Six of the seven SERIOUS items were addressed in the same pass. The one remaining SERIOUS item is a chart component that renders at fixed pixel widths — it needs a redesign pass, not a CSS fix, and that's queued separately.
29 fabricated claims were removed from the live site:
ADR-0011 was filed. A honesty_claim_audit kit was added to the audit_runner.mjs suite to catch regression — any new marketing copy with inline numbers triggers a review flag before it ships.
All published today with the same framing commitment: no "in our experience" without a real experience, no statistics without a source.
The audit_runner.mjs suite now covers: honesty_claim_audit, meta_description_audit, canonical_url_audit, sitemap_coverage, robots_txt_audit, title_length_audit, link_health_check, cron_health_check, og_image_audit.
End-of-day substrate state: 24 CLEAN / 0 WARN / 1 ERROR. The 1 ERROR is the og-image SVG-to-PNG conversion — Vercel's image pipeline requires static PNG; the SVG fallback path is already queued.
27 blog posts now have explicit cross-links. 40 marketing pages reached COMPLETE metadata status (previously 17 COMPLETE / 23 PARTIAL). The llms.txt file lists all 28 blog slugs for AI crawler indexing.
If you're building a solo-founder automation system, this is the sequence worth stealing.
Plan agent designs the spec: data model, API surface, edge cases, acceptance criteria. It produces a document, not code.
Critic agent reads the spec adversarially — its only job is to find what breaks, what's missing, what has compliance risk. It does not propose solutions; it lists problems with severity.
Engineer agent reads both documents and implements. The Critic's findings are the implementation brief's first section, not an afterthought.
Three agents, hub-and-spoke (the orchestrator routes between them; they never message each other directly), one feature shipped. The key discipline is that no code is written until the Critic has signed off. That one constraint is what prevented the three bugs from reaching production.
The Supabase migration for lead-capture storage is written and reviewed; it needs operator approval before running — forward-only schema change, no destructive SQL. 35 cold-email prospects are queued across 4 batches, with drafts staged for morning review. The X thread for today's sprint is drafted and ready for AM send after the operator reviews it.
Pending operator actions: migration approval, cold-email batch review, push-to-production sign-off once Vercel quota resets at approximately 05:30 IST tomorrow.
Free tier caps at 100 deploys per day. Hit it mid-afternoon with roughly 30 commits still queued. Those queue for the next reset window.
I will outgrow the free tier when paying customers fund the upgrade. Until then, high-intensity sprint days will hit the cap — that's an honest constraint, and batching commits better is the mitigation.
Everything above is infrastructure and honesty. The only metric that matters is the first paying customer.
If you run a website and want a chatbot that answers from your docs — not a shared inbox, not per-resolution billing, not an agentic action-taker — paste your URL at saavos.com/#hero and the bot is running in under five minutes.
That is the product. Day 8 done.
Get the next post in your inbox
Honest writing on building, embedding, and shipping AI chatbots. No spam. Unsubscribe anytime.
Builds tools for solopreneurs and small SaaS teams who don't have an afternoon to spare.
Paste your URL. Train your bot. Drop one script tag. No credit card.