What we've learned building things
Field notes from real projects — the decisions, the parts that went wrong, and what we'd do differently. No thought leadership, just the work.
Endeo runs with no account, no network, and no backend configured
Treating offline as a fallback produces a different, worse architecture than treating it as the default. Here is what changes when local is the real database.
Read · 7 minWhat a CMS handover should actually include
A training call is not a handover. The person who attends it is usually not the person editing the site a year later.
Read · 8 minJust use AI to parse the PDF is where the work begins
An AI parser turns a vendor purchase order into structured line items in an afternoon. Everything after that afternoon is the actual project.
Read · 8 minEndeo keeps your pen strokes and treats the OCR text as disposable
Handwriting recognition is wrong often enough that it can't be your source of truth. Making it a rebuildable search index instead is what let us ship it.
Read · 7 minEvery fix ships with the test that would have caught it
A bug report is a gift: it's a real-world input that broke your assumptions. Throwing that away after the fix is the actual waste.
Read · 6 minBoring on purpose: what we build first and why
The interesting parts of a system are rarely the parts that decide whether it works. We build the dull, load-bearing pieces first — deliberately.
Read · 6 minThe five questions we ask before we quote anything
Most bad software projects were mispriced before a line of code existed. These are the questions that surface that in the first conversation instead of the ninth.
Read · 7 min
Have something to build?
Tell us what you're working on and we'll tell you honestly whether we're the right fit.
Work with us