Working smarter,
in plain English.
Practical ideas on putting AI to work — no jargon, just things you can use this week.
Welcome to the Amy blog
A new home for what we ship, what we learn, and how we think about agents that work for your business.
Inside Amy's credit system
How we ship a credit-based ledger that survives partial failures, refunds, and webhook re-deliveries — without losing a single cent.
Why we moved to credit pricing
Seat licenses force teams to over-buy. Per-call pricing punishes experimentation. Credits are the only model that fits how agents actually get used.
Notes on prompt caching at agent scale
What we measured running Amy with aggressive prompt caching: where it pays off, where it backfires, and the rule of thumb we use now.
How we sandbox untrusted browser tools
Running an agent's browser actions next to production data is a footgun. Here's the isolation model we landed on.
Observability for long-running agent runs
Traces work great until your span outlives your trace exporter. Notes from instrumenting eight-hour agent jobs.
Designing the Amy job scheduler
Cron-style triggers, idempotent dispatch, and the surprising amount of work that lives between 'fire' and 'run'.
Postgres advisory locks for at-most-once delivery
We replaced a Redis-based mutex with a single Postgres advisory lock and removed an entire class of races.
Rate-limiting per-user API keys without a queue
Token buckets in Postgres, no Redis, and a hot-key strategy that doesn't pretend hot keys won't exist.
One useful idea, every week.
Short, practical, no spam. Join business owners getting their time back.