Blog
Notes from the boundary.
Essays on what happens after durable execution: the queue, the row, and everything that resolves it.
Machines resolve rows too
Factories have kept people and machines in separate systems that meet at a screen. When a machine resolves the same row a person would, one workflow can run a line of both and never tell them apart.
A barcode is an API call
A scan is not data entry. It is an event with intent, and the code on the label can say exactly which action it means. The scanner is a keyboard, so the keyboard is a scanner.
Your queue is a market
Work is not fungible and neither are the people and machines who do it. Treat the queue as a place where supply and demand meet by attribute, and dispatch becomes a query and a claim.
Your queue is your time-series
Every wait has a start and an end. If your workflows park each state as a row, the operations history you were about to build is already in Postgres.