title: 'Day 8: 87 commits, 9 audit-kits — what the public sprint actually looked like' slug: 'day-8-public-sprint-recap-2026-05-14' description: 'Day 8 of public bootstrapping: 87 commits, lead-capture shipped via Plan→Critic→Engineer, mobile at 0 BLOCKERS, 29 fake claims removed, Vercel quota exhausted by afternoon.' publishedAt: '2026-05-14' tags: [ 'build in public', 'solo founder', 'AI chatbot', 'public bootstrap', 'engineering velocity', ] author: 'Saurav' keywords: 'building in public, public bootstrap day 8, solo founder velocity, AI chatbot sprint, build velocity' wordCount: 1054 draft: false
By Saurav · saavos
[!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.
Why the intensity
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 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.
What actually shipped
Lead-capture feature
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:
- A sentinel chunk leak in the RAG pipeline that would have surfaced in production logs
- A GDPR consent gap — the email capture flow was not explicitly surfacing consent language before persisting to the database
- Unvalidated client input that would have reached the server layer without schema enforcement
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.
Mobile responsiveness
Three BLOCKERS closed:
- Hamburger nav was hidden on mobile viewports due to a z-index collision with the cookie banner
- Seven grid sections had column definitions that did not collapse on viewports under 480px
- Hero h1 had an inline font-size override that resisted the responsive CSS cascade
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.
Honesty refit
29 fabricated claims were removed from the live site:
- Homepage testimonials attributed to unnamed generic roles ("startup founder", "SaaS team")
- ConvertBlock metrics presenting percentage lifts with no sourced baseline
- Blog post citations pointing to studies that did not exist
- An Intercom Fin TLDR that cited resolution accuracy figures not in the original Intercom materials
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.
Three new positioning blog posts
All published today with the same framing commitment: no "in our experience" without a real experience, no statistics without a source.
- "What saavos is NOT" (1,016 words) — names the deliberately empty boxes in the feature matrix and explains why they're empty
- "12 Questions to Ask AI Chatbot Vendors" (2,150 words) — a weighted evaluation rubric with a 90-minute test protocol
- The Honest Cost of Building Your Own AI Chatbot (1,312 words) — a real hour-by-hour breakdown of what a solo founder's DIY build actually costs in 2026
Nine new automation audit-kits
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.
Cross-linking and metadata
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.
The Plan → Critic → Engineer pattern, briefly
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.
What's ahead
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.
The Vercel wall
Preview caps at 100 deploys per day. Hit it mid-afternoon with roughly 30 commits still queued. Those queue for the next reset window.
High-intensity sprint days will hit the cap — that's an honest constraint, and batching commits better is the mitigation.
The metric that matters
Everything above is infrastructure. The metric that matters is customers getting value from the product.
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.