Build & migration log

Building it in public.

A running build log of a real ERP migration: half a million SKUs moving from a decades-old stack onto Odoo — the data work, the custom modules, the search layer, and the applied AI built along the way. Written as it happens, by the person responsible for it.

Entries

entry 011 · September 2026

The catalog that refused to die.

Instead of forcing forty years of catalog culture onto a modern grid, the store learned to speak catalog: a page-flip viewer with live prices and cart buttons, and exploded-view parts diagrams where the callouts sell the actual part.

read this entry →
recap · week of September 21, 2026

Generosity, with a dead-man’s switch.

A payment gate that trusts customers the way the business always has — and un-trusts itself if its watchdog dies. Plus the purchase-history arc closes, and Monday’s scar-tissue essay demonstrates itself in forty-eight hours.

read this entry →
entry 010 · September 2026

Every rule is scar tissue.

How a (mostly) one-person migration stays coherent: no methodology was designed up front — every gate in the pipeline exists because a specific failure happened once, and was never allowed to happen twice.

read this entry →
recap · week of September 14, 2026

Monday’s entry lasted three days.

Historical invoices become payable three days after the entry saying they weren’t, a 155-second page gets a one-index fix, and special orders earn a real, auditable checkout step.

read this entry →
entry 009 · September 2026

The history came along.

A brand-new store where your 2018 invoices are already waiting: why legacy history earned its own models, and the archaeology it costs to make old data look effortless.

read this entry →
recap · week of September 7, 2026

Ship-tos are places, not people.

Invoices become payable in the portal — several at once — a checkout bug turns into a philosophy lesson about addresses, and our own documentation gets proven wrong by a probe log.

read this entry →
entry 008 · September 2026

Reviewing the robot’s homework.

A colleague had an AI build a complete purchasing module. Round one: three blockers, including a collapsed two-person approval gate. Round three: one unused field. The difference was context, not capability.

read this entry →

Availability

This log is the working record of systems being built, migrated, and kept in production. If you’re working through a problem in the same territory — interesting problems will always receive a reply.