Blog
How to build software and AI that holds up.
Guides from our engineers on custom systems, AI agents and private AI: what to build, what it costs, and what breaks once it’s live.

Building software · 14 Aug 2026 · 7 min read
Monitoring and Alerts for a Small SaaS
You do not need an observability stack. You need about six alerts that catch the failures that cost you money, and the discipline to keep the rest quiet.

Engineering and operations · 14 Aug 2026 · 8 min read
Load Testing Before You Get the Traffic You Wanted
A launch that works is the most expensive way to discover your connection pool holds twenty. Here is how to find your breaking point on purpose, first.

Engineering and operations · 14 Aug 2026 · 8 min read
Incident Response When You Are the Whole Team
Nobody to escalate to, no runbook, and the app is down. Here is the process that keeps a one-person outage from turning into a one-person disaster.

Engineering and operations · 14 Aug 2026 · 8 min read
Documenting a Codebase So the Next Engineer Can Take Over
Not a wiki nobody reads — the specific short documents that decide whether your next engineer ships in week one or spends a month reverse-engineering.

Building software · 13 Aug 2026 · 8 min read
Retrofitting Multi-Tenancy Into a Single-Tenant App
Your app assumes one company per account and a customer just asked for teams. Here is how to add tenancy to a live product without a rewrite or a data leak.

Engineering and operations · 13 Aug 2026 · 7 min read
Implementing Roles and Permissions Without Painting Yourself In
Most permission systems fail the first time a customer asks for something slightly unusual. Here is how to build one that bends instead of breaking.

Engineering and operations · 13 Aug 2026 · 8 min read
Versioning an API Before Anyone Depends On It
You do not need three API versions. You need one, plus the discipline and the mechanism to introduce a second the day you genuinely cannot avoid it.

Engineering and operations · 13 Aug 2026 · 8 min read
Logging You Can Actually Search at 2am
Most startup logging is a wall of text nobody can query during an incident. Here is the small set of rules that turns it into something you can answer questions with.

Building software · 12 Aug 2026 · 6 min read
Feature Flags for Teams of One to Five
Use a small, disciplined set of feature flags to separate deployment from release without creating a second configuration system nobody understands.

Engineering and operations · 12 Aug 2026 · 6 min read
Moving Slow Work Into Background Jobs
Move long AI calls, imports, email, and document processing out of web requests without creating duplicate work or invisible failures.

AI agents and automation · 12 Aug 2026 · 6 min read
A Caching Strategy That Cuts Your AI Bill
Cache the deterministic and reusable parts of your AI workflow without serving stale private data or pretending every model response is interchangeable.

Building software · 12 Aug 2026 · 7 min read
Scaling a Supabase App Past Its First Thousand Users
The specific things that break when a Supabase app goes from fifty users to a few thousand — and the fixes that work, in the order they are worth doing.

Engineering and operations · 11 Aug 2026 · 7 min read
Adding Observability to an App You Inherited
A pragmatic order of operations for instrumenting an inherited or AI-generated app — errors, logs, traces, and uptime — without drowning in tools or bills.

Engineering and operations · 11 Aug 2026 · 7 min read
Error Handling Beyond the Happy Path
Why generated code swallows errors, how to find every place it happens, and a practical taxonomy for deciding what to retry, surface, or refuse.

Engineering and operations · 11 Aug 2026 · 6 min read
Setting Up CI/CD for an App That Never Had Any
Turn an app that ships from one laptop into a repeatable release pipeline with automated checks, preview environments, and a rollback path.

Engineering and operations · 11 Aug 2026 · 6 min read
You Need a Staging Environment Before Your Next Release
Build a staging environment that catches deployment failures without becoming an expensive, stale imitation of production nobody trusts.

Engineering and operations · 10 Aug 2026 · 6 min read
Adding Tests to a Codebase You Did Not Write
You do not need full coverage. You need tests around the paths that lose money or data — here is the order to add them in when you did not write the code.

Engineering and operations · 10 Aug 2026 · 6 min read
Refactoring AI-Generated Code Without Breaking It
AI-generated code fails in predictable patterns. Here is the sequence for cleaning it up that keeps the app working the entire time.

Engineering and operations · 10 Aug 2026 · 7 min read
A Code Review Workflow for Teams Shipping AI-Written Code
How to run code review when most of the diff was written by a model — automation lanes, human-only checks, PR sizing rules, and a workflow that survives a one-person team.

Engineering and operations · 10 Aug 2026 · 7 min read
Fixing the Data Model an AI Gave You
The six schema mistakes AI builders make over and over — and a safe, ordered plan for repairing your data model while the app stays live.