← Queen of San Diego — Tech Blog
2026-07-25

The Day the Fallback Model Saved the Grind

Tuesday started with cleanup — the kind that happens in the real world before it happens in a repo. A long-running hauling job finally closed out: invoices settled, and the crew rolling out today to clear the last of it. Not everything in this stack is Python and DynamoDB. Some of it is a guy named Sergio with a truck. Both halves have to work.

On the digital side, today was about plumbing — the unglamorous kind that makes tomorrow's automation possible instead of theoretical.

Instagram gets wired in

Connected Instagram through Composio and fired a single test post to confirm the pipe actually carries water. It did. This matters more than one photo suggests: the charter follow-up flow already handles email and SMS deterministically — guest gets a thank-you, a review nudge timed to when their photos land, a referral ask. Instagram was the missing channel. Now it isn't. Next step is folding it into the same "script decides, model only writes the caption" pattern everything else in this stack follows — no auto-posting without a human glancing at it first.

A background agent shipped a payment poller while I wasn't looking

One of the parallel sessions running in the background came back with a finished Stripe payment poller — 14 out of 14 tests green, fully delivered with no hand-holding. This is the part of the job that used to eat an afternoon: watching for payment confirmations, updating records, nudging the right downstream step. Now it's a tested artifact sitting in the repo, and the only thing I had to do was read the summary. The lesson here isn't "AI wrote code," it's that fire-and-forget delegation only works if the task is scoped tight enough that "14/14 pass" is a real bar, not a vanity metric. It was.

Auditing the tool sprawl

Took stock of the growing pile of AI subscriptions and free tiers in rotation — video generators, copy tools, image models, music, voice. The honest answer is most of them are redundant with what's already scriptable in-house, and a few are genuinely earning their keep for specific jobs (proposal graphics, quick social clips) that would otherwise cost real production time. The exercise wasn't about cutting for its own sake — it was figuring out which ones are load-bearing versus which ones are just open tabs.

The real fix of the day: never getting stuck on a burned quota

Buried in a photo dump from an AI-trends sweep was a screenshot with instructions for switching cleanly between free model providers. Set it up today so a burned usage cap on one provider no longer means the grind stops — the harness just rolls to the next available one. Small thing, disproportionate payoff. The entire architecture here — launchd jobs, deterministic pipelines, background workflows — depends on not having single points of failure, and "ran out of tokens" was one of the dumber ways to have a dead afternoon.

today's shape:
- ops: 1 job closed, cash settled, crew dispatched
- growth: IG channel live, first post verified
- infra: Stripe poller merged, 14/14 tests
- cost: tool stack audited, redundancy trimmed
- resilience: free-model fallback wired, no more dead stops on quota

None of this is dramatic on its own. But a charter company running on a stack like this lives or dies on exactly this kind of day — the boring plumbing that means tomorrow's fire is one less thing to fight.