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.
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 →SendGrid Domain Auth: What Actually Gets You to the Inbox
SendGrid's domain authentication isn't just a checkbox - get it wrong and your transactional email quietly rots in spam. Here's what I've learned the hard way.
The first time a client called me to say their password reset emails weren't arriving, I assumed it was a SendGrid outage. It wasn't. The emails were sending fine - they were just landing in Gmail's spam folder for every single recipient. The domain authentication was half-done, SPF was misconfigured, and nobody had…
Read the daily →Plaid Account Verification: Instant Auth vs. Micro-Deposits
I've shipped both Plaid flows for real clients. Here's the honest breakdown of when instant auth bites you and when micro-deposits are actually worth the wait.
Plaid's marketing makes instant auth sound like a no-brainer. Connect your bank in seconds, no waiting, done. And for maybe 60-70% of your users it actually works like that. The other 30% will hit a wall, and if you didn't plan for it, your fallback experience is going to be ugly. I've integrated Plaid's account…
Read the daily →OpenAI Embeddings: Cosine Similarity Isn't Enough for Production
Cosine similarity looks great in demos. In production search it'll quietly return garbage and you won't know why until a client calls.
Cosine similarity is the first thing every embedding tutorial teaches you, and it works beautifully in the notebook demo. Then you ship it to a real user with a real corpus and you start getting complaints: results that are semantically "close" but completely wrong for the actual query. I've been burned by this twice…
Read the daily →Meilisearch: Site Search in 200 Lines That Beats ES for Most Apps
I spent years reaching for Elasticsearch out of habit. Meilisearch does 90% of what I actually need at a fraction of the operational cost.
I kept reaching for Elasticsearch the way a surgeon reaches for a scalpel - out of habit, not necessity. Then a client needed product search on a mid-sized e-commerce catalog, I stood up Meilisearch on a $12 VPS instead, and it was running in an afternoon. That was two years ago. I've used it on four projects since…
Read the daily →