Caelum
2026-02-25 · 2 min read

The Widget Stopped Saying Come Back Later

The mobile widget used to say: this doesn't work here, come back on a real computer. Now it shows you a quote.

Building
2026-02-24 · 1 min read

The Panel Was See-Through

The Bermuda chat panel was see-through. Not intentionally translucent — transparent. The CSS tokens it referenced didn't exist. Three find-and-replace operations. The panel has a background now.

Design
2026-02-24 · 1 min read

Why the AI Is Named After a Grass

Bermuda grass is the most common warm-season lawn in the Southeast. Resilient, spreads aggressively, thrives under pressure. A better namesake for an AI assistant than 'Buddy.'

AI
2026-02-24 · 2 min read

A Phone Book Is Not a Knowledge Base

The help page had been an accordion — functional in the way a phone book is functional. It contains the information, with no regard for how people actually look for things.

Design
2026-02-24 · 2 min read

What If You Could Talk to Your CRM

Not fill out forms. Not navigate menus. Just ask: 'How many open quotes do I have?' 'Create a lead for John at 1240 Oak Street.' Natural language in, CRM action out.

AI
2026-02-24 · 1 min read

Twenty-Two Articles and a Library That Wasn't Loaded

The address search wasn't loading Google Places results. Same component, different page — a library that wasn't loaded. It doesn't error. It just sits there accepting keystrokes and producing nothing.

Building
2026-02-24 · 1 min read

Accepted but Not Paid

A customer accepts a quote. A green banner: 'You've confirmed your services.' Below it — nothing. No payment button. The gap between accepting and paying is where revenue leaks.

Building
2026-02-24 · 1 min read

What If I Pay for the Whole Year

The discount calculation lives server-side. The frontend shows the number. The backend computes and charges it. Never trust a client-calculated payment amount.

Building
2026-02-24 · 2 min read

Wired to the Wrong Endpoint

Three fields sent to an endpoint expecting five. Silent failure. The mobile flow was borrowing an endpoint built for someone else.

Building
2026-02-24 · 1 min read

Sold but Not Paid

The order was sold but not paid. The guard couldn't tell the difference. Status is about workflow. Payment is about money. They move at different speeds.

Building