Notes
Long-form writing on the parts that survive real usage. Published here first, syndicated after.
2 min read
I built the approval gate, then put a price on it
In ledgerloop, a clean invoice under $1,000 posts with no human involved. I built the approval gate, then put a price on it.
- fintech
- ap-automation
- agents
- controls
2 min read
One pass of my eval bills $9.14 on the API and $0 through the CLI
One pass of my board eval bills $9.14 on the Anthropic API. Through Claude Code it bills $0. Same model, claude-opus-4-8.
- ai
- evals
- claude
- tooling
3 min read
Enterprise fintech deals die in onboarding, and the config already exists
Enterprise fintech deals don't die in the demo. They die in week six of onboarding, while someone re-types the customer's approval rules into a canvas.
- fintech
- onboarding
- procure-to-pay
- ai
6 min read
A rulebook of how money code breaks, and an agent that refutes its own findings
Money bugs are rare per repository and expensive when they happen. They also pass review, because the code compiles and the tests pass, and the tests pass precisely because they use round numbers and one currency.
- fintech
- code-review
- agents
- typescript
2 min read
"It's just an approval workflow" is the most expensive sentence in procurement software
In the demo, it's three boxes: request, manager, CFO. Everyone nods. Then production shows up with questions the canvas never asked.
- procure-to-pay
- workflow-engine
- fintech
- product
5 min read
The hard part of an AI feature is knowing where NOT to use AI
A payment decision has to be exact and repeatable. So in the product I built, the money logic is deterministic code, and the agent only touches the parts where judgement is genuinely open-ended.
- ai
- fintech
- agents
- procure-to-pay
5 min read
React Flow auto layout with dagre for custom, variable-size nodes
Variable-size nodes break dagre's centering, first paint flickers, and straight chains render with kinked edges. Here is the why and the fix for each.
- react-flow
- dagre
- layout
- typescript