This week the migration stopped being a solo project.
A three-module submission from a second developer, reviewed, merged, and deployed clean — plus quick reorder ships, the order page grows real filters, and Monday’s pricing lesson pays rent within the week.
The centerpiece: the colleague who owns our legacy-system integration submitted three modules — one new, two updates — and this week they went through the full cycle: read-only review, a short list of items needing her call, mechanical fixes, merge, deploy. All four modules (one pricing change rode along) landed on staging clean with full smoke tests. Two developers, two toolsets, one codebase — and the process held.
My favorite detail from that merge is a guardrail. The new admin tooling includes utilities that can delete data wholesale — exactly what you want in a test environment and exactly what you never want near production. So they ship behind an environment check that fails closed: unless the environment explicitly identifies itself as safe, the tools refuse to run. Not “blocked on production” — “allowed only where affirmatively permitted.” The difference matters at 2 a.m.
Second: quick reorder shipped. Last week’s recap described reading the platform’s built-in reorder panel before adopting it — six findings. This week those findings became the design: order history scoped to the whole company account rather than the individual contact (wholesale buyers work in teams), a “discounts available” reveal on lines that genuinely have quantity breaks, and live re-pricing as quantities change. Mid-build came the satisfying part — a planned chunk of re-pricing work turned out to be unnecessary, because the pricing engine already intercepts every core price path. Monday’s entry made exactly that promise: one engine, every surface. It held before the week was out.
Third: the order page grew real filters — who placed the order (everyone at your company, or just you) and when, applied server-side and persistent as you move between tabs and pages. One honest wrinkle: the “just me” filter can’t reach into legacy-imported orders, because the old system never recorded which person at a company placed them. A dig into the legacy tables found fields that can fix that going forward, and they’re now proposed for the import pipeline. The archaeology continues.
Also this week: SMS as a second login factor — a verified, expressly-consented phone number, replay protection tighter than the platform’s email-code pattern, and automatic disable after repeated delivery failures. Built and verified; deployment is next. And small polish — per-unit pricing in the cart, a homepage search repositioning out of a stakeholder review.
A solo migration proves a design. A second developer merging clean proves a process. This week had both.