Our blog
Notes on the systems we build and what they taught us.

What we hand the model matters more than the prompt
Retrieval, not phrasing, is where most AI features quietly fail. A note on scoping context per tenant.

Role-based access that survives its second customer
The permission model you write for one tenant rarely holds for ten. What we changed, and when.

A motion budget, not a motion library
One vocabulary of durations and eases beats thirty hand-tuned tweens, and it keeps the page at sixty frames.

Talking to NFC hardware from React Native
Reader quirks, permission prompts and the retry loop that made the flow feel instant.

Streaming model responses without lying about progress
Token streams make latency legible. They also make it easy to show progress that is not real.

Webhooks are a queue you did not design
Idempotency keys, replay windows and the ledger we keep so a payment is never counted twice.

