Insights
Notes from the studio.
Building in public: what I'm making, what broke, and what I'd do differently.
Shipping a native iOS app as a web studio
The old browser you forgot to test
Video on the web that plays everywhere
The loading experience is the product
Grace Tarnasky's site, from launch-ready to public
The tool bench a one-person studio builds for itself
A booking engine inside the CMS: slots, guards, clocks
Wireframes that survive contact with the build
The fine print on AI video in 2026: what the terms say
A native investing app in Rust that vetoes its own orders
Color for screens that aren't yours
Custom mental health web apps whose answers never leave the device
MiniMax H3: the Hailuo image-to-video model, in practice
What a therapy practice website should never ask for
A status file per bot: how a small office of agents reports in
StayEugene: when one house is five bookable listings
Which AI video model should a small studio use in 2026
World Labs Atlas: what a world model means for AI and physics
A counselor directory on iOS: what moved to the phone
Designing without slop: the rules I gave my AI
One button, no reading, no login: designing panic.btn
iLovable: a box of therapy tools that stays on the phone
What on-device AI costs: a voice journal at 813.4 MB
Twelve neighborhood guides and one valuation form
What a licensed psilocybin practice needs from its site
The scroll-scrub stack: what actually makes it smooth
Mobile-first, one thumb
One engine, three client sites: the fork per client model
Finding a counselor in Oregon
IDX by Ulric: what the three tiers actually include
What $99 a month buys a clinical practice
A social composer that exports in the browser
Three small iOS apps, and what each of them taught me
Two kids built games, so I gave games a content type
Procedural geometry vs Blender MCP: where I drew the line
Anatomy of an agent harness: hooks, loops, memory, RAG
An IDX site on a RESO Web API feed: what the docs leave out
28,000 listings on one map with MapLibre and no API bill
When an image pipeline fails silently: a disk-quota postmortem
LLM model routing: a ladder, a cascade, and a kill switch
Agentic loops in production: generate, deploy, verify, repeat
Graph RAG vs vector RAG: when the graph earns its keep
RAG that stays current: knowledge that ships with the feature
Grok Bot, and the question every small business now has to answer
Claude Code hooks: the guardrails that never ask the model
Setting up an AI agent for a realtor who was out of hours
Most of my AI bill was re-reading my own transcript
The SEO skill that has to show its receipts
The harness reads my texts now
Building a real estate site for a realtor in The Dalles
How a real estate agent gets recommended by an AI assistant
Why your therapy practice does not show up on Google
The questions similarity search can't answer
Scroll-scrubbed video, the cheapest premium feel on the web
AI slop, and the files that keep it out of my projects
The agency that never sleeps: running a business on AI loops
Real estate runs on too many dashboards
The baton passes
Learning to scale SEO and build organic traffic