Back to portfolioCase study · 08
E-commerceStartup · San Francisco

Replatforming e-commerce.

Off Magento, onto a modern Node.js backend.

A wholesale marketplace where brands sell to independent retailers. I led the team as hands-on Tech Lead and was the top contributor on every portal.

ROLE
Tech Lead (hands-on)
WHEN
Nov 2021 – Jun 2023
WHERE
San Francisco, USA (remote)
CLIENT
Shared on request

THE HEADLINE

Magento → Node.js

A new backend, phased in while the marketplace kept trading

4
portals: buyer, supplier, admin, storefront
6
developers led
~3,000
commits of mine

01 · The problem

The old platform was holding the product back.

The marketplace started on Magento and an agency-built frontend. When the business moved to B2B wholesale, it needed buyer groups, bundles, payouts and new payment options faster than Magento allowed, without stopping the business.

02 · What I built

A marketplace, rebuilt piece by piece.

01

Buyer portal

Onboarding, brands, collections, search, cart, group orders, referrals and checkout for retailers.

Next.jsElasticsearch
02

Supplier portal

Listings, bulk CSV upload, bundles and pre-packs, orders and payouts for brands.

Bulk upload
03

Admin portal

Brands, buyers, orders, payouts, reconciliation, coupons, campaigns and a CMS for the site.

AdminCMS
04

New Node.js backend

A NestJS GraphQL service with queues, search and role-based access, replacing Magento.

NestJSGraphQL
05

Modern payments

Cards, Apple Pay, Google Pay, buy now pay later for businesses, and Stripe Connect payouts.

Stripe ConnectBNPL
06

Test-driven CI/CD

Storybook components and Playwright end-to-end tests on every change.

PlaywrightStorybook

03 · Key decisions

Raise the bar, then ship.

01

Phase out, don’t big-bang

Magento was replaced step by step: first a mock server so the frontends could move ahead, then a new service, then the B2B platform.

02

Standards the team owns

I led a team of 6, set code standards and a shared component library, and delivered products on time.

04 · Stack

Under the hood.

Frontend

  • Next.js
  • TypeScript
  • Chakra UI
  • Apollo Client
  • Storybook

Backend

  • NestJS
  • GraphQL
  • MikroORM
  • PostgreSQL
  • Redis
  • RabbitMQ

Integrations

  • Stripe Connect
  • Elasticsearch
  • SendGrid
  • Twilio
  • Sentry

05 · Results

What it added up to.

6
Developers led
4
Portals shipped on the new platform
3 → 1
Platform generations, ending on one Node.js stack

Next case study · 09

EHR and telemedicine

Replatforming without stopping the business?

I lead migrations hands-on, with tests all the way.