Blog

Thoughts on building software products - engineering, design, strategy, and the lessons we've learned shipping real products.

What a Mid-Project Change Actually Costs

The hours are the half you can see. The other half is a guarantee the old design gave you for free, and a change request quietly spends it.

10 min read

Buy the Queue. You Still Own the Retry.

BullMQ gives you retries, backoff and concurrency. It does not give you a job that is safe to run twice. Here is the half we wrote around it in zeroutil.

10 min read

Telegram Is Your Login. You Still Own the initData Check.

A Telegram Mini App has no sign-in screen. The client hands your backend a signed string instead, and verifying that string on every request is an integration you write. We built volta's on it.

8 min read

Buy Stripe Billing. You Still Own the Grace Period.

Stripe Billing retries a failed subscription payment, emails the customer, and sets a status. What it does not decide: what your product does during the four days before the cutoff, and what the cutoff means when the account is a Telegram channel.

7 min read

Buy Stripe. You Still Own the Webhook.

We built volta's payment layer on Stripe Connect. What buying Stripe did not cover: raw-body signature verification, duplicate events, and marketplace refunds.

7 min read

Your Static Site Is Probably Not Cached

A static build on Cloudflare Pages still serves HTML as cf-cache-status: DYNAMIC. What it costs, and how to check yours.

7 min read

Buy the Email Vendor. You Still Own the Unsubscribe.

What buying an email vendor does not buy you: three defects that land in the seam, and the one curl that finds the first one on your domain.

8 min read

Why We Quote Fixed Scope - And When to Refuse It

The US federal contracting rulebook says outright that hourly pays a vendor to be slow. It is also clear that fixed price is wrong for exploratory work.

5 min read

Build vs Buy: The Four Numbers That Decide It

Auth, payments, email, storage, search: what each costs to buy in 2026, what you take on by building it, and the one default that is usually wrong.

6 min read

Stay in the loop

One email a month: what we shipped, what it cost, and what we would do differently. We send a confirmation link first, and every issue carries a one-click unsubscribe.