← Back to journal
May 28, 2026·3 min read·Building AutoBrief

AutoBrief is live.

Two days ago I wrote about how AutoBrief was 42 commits deep on my laptop and had no live URL. Today it has one. Here's what shipped, how I made the call to skip Supabase, and what's next.

By David Sawires
Share

AutoBrief is live in production at auto-brief-web-pied.vercel.app. Every route works. The pilot roster, the aircraft squawks, the daily briefing dashboard, the override flow with chief-pilot signature, the CSV-exportable audit log — all of it, in any browser, no signup required.

Two nights ago I wrote a post called "Where it lives when it doesn't live anywhere"about the embarrassing gap between "feature-complete" and "a chief pilot can see it." That post had a workaround. This one has the real fix.

The Supabase decision

The plan was to deploy with Supabase auth + the five RLS-enforced migrations that already existed in the repo. The plan ran into a wall: Supabase free tier caps at two projects per organization,and Tarmac Labs already had two — Trim (live with real CFIs) and the marketing site's waitlist database.

The choices were: pay $25/month for Pro (against my own "defer paid infra until told" rule), pause one of the live projects, share a database (mixed-tenant data — bad idea), or ship the prototype with the localStorage adapter that was already in the code.

The localStorage path won. The whole frontend already used an adapter pattern at lib/local-roster.ts and lib/local-checks.ts — same return shapes the Supabase queries will eventually return, just backed by your browser instead of Postgres. Drop-in replacement for the v1.5 sprint. The MVP can ship today; the multi-tenant database can ship after the first real conversation with a chief pilot.

v1 doesn't need multi-tenant security. It needs to exist publicly and be touchable. That's a different bar.

What works in localStorage mode

Everything except auth. Add pilots, edit medicals, log aircraft squawks, run pre-flight checks against the deterministic rules engine, override a NO-GO with chief-pilot signature, export the audit trail to CSV, print the daily briefing. All of it persists in the visitor's browser. Different device = different data, which is the honest constraint of the architecture, not a bug.

The AI brief generator is also live but in "rule-based fallback" mode — no Anthropic API key configured yet. The fallback isn't a degraded experience; it's a deterministic plain-English summary written by the same logic the rules engine uses to compute the verdict. When the key gets wired, the briefs will get more conversational. Until then, they're accurate and short.

What's next

The autobrief.appdomain is still on my purchase list — the Vercel-assigned URL is the public face for now. Supabase Pro is queued for the day after the first chief pilot says "put my school on this." The full ANTHROPIC_API_KEY wiring is a 30-second env var flip whenever I'm ready.

More importantly: this is the first build I've done in this category that's actually shareable. The next post is going to be cold-email number one. The links in that email work now. That's the whole thing.

Share