The Daily
A note a day on APIs and the realities of shipping web applications. Stuff I've actually learned across 25 years of doing the work.
Typesense: Real Search for 1/10th What Algolia Charges
I swapped Algolia for Typesense on a product catalog and cut the search bill by 90%. Here's what it took and what I'd warn you about.
Algolia is genuinely good software. I've also watched it quietly eat $800/month from a mid-size e-commerce client who sold outdoor gear and had maybe 400k product records. The search was fast. The bill was faster. When Typesense crossed my radar I was skeptical — "open source Algolia" is a bold claim — but I ran the…
Read the daily →Twilio Voice: Building an IVR That Doesn't Make Callers Hate You
Twilio Voice gives you enough rope to build a great phone IVR — or a nightmare. Here's what I've learned from building real ones for clients.
Most phone IVRs are bad on purpose — designed to exhaust callers into giving up. Twilio Voice gives you the tools to build something that actually helps people. The question is whether you'll use them well or just automate the same bad patterns everyone else ships. I've built Twilio Voice IVRs for a handful of clients…
Read the daily →Resend Is What Transactional Email Should Have Always Been
I've sent email through a lot of APIs. Resend is the first one that didn't make me feel like I was wrestling with legacy enterprise software.
I've wired up transactional email through SendGrid, Mailgun, Postmark, SES, and a few others I've tried to forget. They all work, technically. But every one of them has that same energy — like the API was designed by a committee in 2012 and then wrapped in a React dashboard someone built during a hackathon. Resend…
Read the daily →Whisper Transcription: API vs Self-Hosted vs Groq
I benchmarked three ways to run Whisper in production. The latency gap between them is bigger than I expected, and it changes which one you should reach for.
I spent a few days last month wiring up audio transcription for a client — a telehealth platform that records short patient intake calls and needs the transcript available before the provider walks into the room. That constraint turned a simple "call the Whisper API" task into a real benchmark exercise. The numbers…
Read the daily →Claude Prompt Caching: When It Pays and When It Doesn't
Anthropic's prompt caching sounds like free money. It mostly is — but the billing model has a trap that'll catch you if you're not paying attention.
Prompt caching in the Anthropic Claude API looked, at first glance, like a pure win. Cheaper reads, faster responses, same output quality. Then I looked at the write pricing and had to recalculate a few assumptions. It still pays for itself in the right situations — but "the right situations" is doing a lot of work in…
Read the daily →