Rebuilding a nine-year-old pricing engine — in six weeks.
A monolith carrying every SKU, promo, tax rule, and ledger entry since 2017. Pricing had become the blocker on every launch. We carved it into four services, migrated 42 TB of history, and cut p95 by 74% — without a single minute of downtime.
We rebuilt their pricing engine in six weeks. P95 dropped 38% before the full cutover — the remaining 36% came from killing the monolith's write-amplification on day 42. The team stayed on-call with us through Q2 earnings.
Every pricing change required a two-hour deploy.
Meridian's pricing system — born in 2017 as a single Rails app — had swallowed catalog, discounts, tax, fraud checks, and the ledger. Eighty-four engineers touched it. Launches were blocked behind a pricing squad that couldn't ship faster than one change per day.
Three previous modernization attempts had stalled at the foreign-key diagram stage. We were hired for the fourth — on the explicit condition that the first artefact would be a shipping cutover, not a slide deck.
One box became four services and a gateway.
We never paused the monolith. We slowly starved it.
A gateway in front of pricing traffic forked requests to the new services in shadow mode. We ran parity for three weeks — every response double-computed, diffed, logged. The day parity passed 99.99%, we flipped the flag.
- w 01Discover · trace 2 weeks of production pricing calls
- w 02Design · event contracts, read-model, cutover plan
- w 03–04Build · four services + gateway, shadow mode
- w 05Parity · 99.998% match, 2 rounding deltas fixed
- w 06Cutover · ramp 10 → 50 → 100, rollback armed 72h
- w 07+Operate · on-call with Meridian SRE, weekly tuning
P95 dropped 38% before cutover.
The other 36% came on day 42.
Shadow-mode alone — fewer JOIN fanouts on reads — cut p95 by 38%. The remaining gain came after we killed the monolith's write-amplification pattern, which was cascading through three async jobs per order.
Four engineers. One principal on-call from day one through Q2 earnings.
- Priya K.Principal engineer · architectureTokyo · GMT+9
- Jonas T.Senior backend · pricing + discount svcBerlin · GMT+1
- Renata M.Senior backend · tax + fraud svcSão Paulo · GMT−3
- Andrés V.SRE · gateway, rollout, on-callMexico City · GMT−6