Blog post

Blog posts

A hand writing notes in a notebook next to a cup of coffee

August 24, 2026

Backfills without double-counting

Loading history is easy; not corrupting what's already there is the skill. Idempotent loads, resumable batches, frozen snapshots, and the checks that…

Explore
Two colleagues reviewing results together on a computer screen

August 20, 2026

Evals before autonomy: how to know your agent is ready

Before an agent runs unsupervised, build a golden set of 50–100 real historical cases, score agreement, read every mismatch honestly, and set…

Explore
A laptop showing code on its screen, sitting on a tidy desk

August 17, 2026

The real cost of a WordPress plugin

Each plugin is third-party code with database access, an update treadmill, a performance tax, and attack surface. How sites hit 20 plugins, the…

Explore
Top-down view of a desk covered in laptops and devices as a team works

August 13, 2026

What a $200-a-month data stack looks like

An itemized ledger — dlt, object storage, DuckDB, Dagster, Metabase — landing at $100–300 a month, what the $2k enterprise quote buys instead, and…

Explore
A network switch with rows of blue ethernet cables plugged in

August 10, 2026

Prompt injection for operators: what your agent reads can hurt you

Instructions hidden in a ticket or email can steer your agent. Why filters can’t fully stop it, and the tool-layer defenses that shrink a hijack from…

Explore
A grid of sticky notes arranged on a wall

August 6, 2026

Why every website change should be versioned (and how to demand it)

Your website is production software: every content change deserves history, a field-level diff, and one-click revert. The failure stories, what…

Explore
Colorful code on a dark screen

August 3, 2026

Metric definitions are code: how to end dashboard arguments

Same metric, three defensible numbers. Why every metric that matters belongs in version-controlled SQL with an owner, a description, and tests — and…

Explore
Two people reviewing work on laptops at a whiteboard

July 30, 2026

Propose-then-approve: trust patterns for agent writes

Agents that write to real data need a specific shape: draft, diff, human approval, enforced apply. How our own edit queue works — and why…

Explore
A person using a laptop and a phone at the same time

July 27, 2026

Core Web Vitals for founders: what actually moves the needle

LCP, INP, and CLS in operator terms: why the thresholds matter for rankings and conversion, the four causes behind most failures, and how to check…

Explore
Hands taking notes on paper next to a laptop during a planning session

July 23, 2026

Postgres read replica vs. warehouse: an honest decision guide

When a read replica is genuinely enough, the four signals you’ve outgrown it, the DuckDB middle path, and the migration cost nobody scopes:…

Explore
A close-up of a blue circuit board

July 20, 2026

Your first agent should be boring too

How to pick a first AI automation that can’t hurt you: the selection criteria, the earn-autonomy ladder, a worked invoice-intake example, and when a…

Explore
A team working together around a laptop in a meeting

July 16, 2026

Your marketing site is a sales asset, not an art project

The site’s job is to make the next sales conversation easier. Which changes actually move pipeline, what site rot costs you, and when a one-page…

Explore
A laptop displaying an analytics dashboard with charts

July 13, 2026

The five queries every founder should be able to run

A cheap diagnostic for your data stack: five queries that should take minutes each. What each one catches, what it looks like when the answer is…

Explore
A dashboard of charts on a laptop screen

July 5, 2026

Why your data stack should be boring

Most startups don’t have a big-data problem — they have a trust problem. Here is the small, boring stack we deploy, what it costs, and when you don’t…

Explore
A close-up of code on a screen

June 28, 2026

A website that (almost) edits itself

The expensive part of a marketing site isn’t the build — it’s every change after launch. Here is the structured-content platform this site runs on,…

Explore
Server racks with dense network cabling and status lights

June 20, 2026

MCP is the API layer for your agents

The gap between an AI demo and AI that runs your ops is the interface to your systems. What we’ve learned building MCP servers: tool design, the…

Explore
Blog post · StartupQuickstart