Work / Web app · 2026

Jewelry e-commerce client (via agency)

A storefront and admin panel for a jewelry e-commerce client, delivered through an agency: a supplier-fed catalog, Stripe checkout, shipping, appointments and custom requests, all in one Next.js app on MongoDB. I was tech lead, covering architecture decisions, DevOps and deployment, and client communication; teammates wrote most of the application code. My own commits set up the push-to-deploy pipeline: a GitHub Actions workflow on a self-hosted runner that builds the app and restarts it under pm2.

  • client work
  • web app
  • client anonymized
  • paused
Client
Jewelry e-commerce client (via agency)
Type
Web app · E-commerce: jewelry storefront and admin
Built with
GitHub Actions (self-hosted runner), pm2
Also uses
Next.js, React, JavaScript, MongoDB (Mongoose), Redux Toolkit, NextAuth, Stripe, Cloudinary, Tailwind CSS
Last active
2026

What it does

  • Storefront and admin route groups in one Next.js app.
  • Supplier catalog via the Stuller API.
  • Stripe checkout and saved cards.
  • Shipping calculation and a scheduled cron endpoint.

How it is built

  • One Next.js App Router app serves the storefront, the admin panel and the API routes, backed by MongoDB through Mongoose models with a Redux store on the client. Pushes to master trigger a self-hosted GitHub Actions runner that builds the app and restarts it under pm2. It replaced three separate backend/admin/frontend repos from January 2025.

My part

  • Made the project's architecture decisions.
  • Set up CI/CD: a GitHub Actions workflow on a self-hosted runner that builds the app and restarts it under pm2.
  • Handled communication with the client.
  • Merged teammates' pull requests and an agent-assisted product-listing API optimization.

Decisions

  • Deploy with a self-hosted runner and pm2 on the production server instead of a managed platform.

Skills

  • Technical leadership (architecture, client communication)
  • CI/CD with GitHub Actions (self-hosted runner)
  • Node.js deployment with pm2

Client work: links and code are not public.

All projects →