← Back to projects
Client workDelivered · Live in production
Visit site ↗

A full eCommerce web application built for SupplyCircuit Zambia Limited. I architected and built it end-to-end. The business belongs to the client, not me.

React 18TypeScriptViteAWS DynamoDBAWS CognitoAWS LambdaAPI GatewayS3SESSecrets ManagerAmplify Hosting

Supply Circuit


The brief

SupplyCircuit Zambia Limited needed a working eCommerce platform. They had a Firebase-based prototype that had grown unwieldy and couldn't scale with the business. The ask: rebuild it on proper infrastructure, deliver something the team can actually run, and make it work for Zambia. Not just copy-paste a Western eCommerce template.

This is client work. The business is theirs. I designed and built the technical solution.


My role

I was the sole architect and engineer on this project. I took it from requirements through to production deployment. Design decisions, data modeling, auth strategy, AWS configuration, frontend build, and go-live. All mine.


Key decisions

Full serverless AWS stack. The client didn't want to manage servers. AWS Lambda + API Gateway gave them a backend that scales to zero and costs almost nothing at low traffic, while being ready to handle spikes without manual intervention.

DynamoDB for the database. This wasn't an obvious choice, but it was the right one for this workload. The access patterns were well-defined, and DynamoDB's single-table design delivered the read performance and cost profile the client needed. I modeled the entire data layer upfront: orders, products, users, staff, all in a single DynamoDB table with GSIs for the key access patterns.

Dual Cognito user pools. Customers and staff have fundamentally different auth requirements: different sign-up flows, different MFA policies, different JWT claims. Separate Cognito user pools gave each group exactly the configuration they needed without compromise or workarounds.

Amplify Hosting for deployment. The client's team is non-technical. They needed a deployment pipeline that didn't require them to understand CI/CD. Amplify Hosting gave them Git-based deployments and environment management they can operate without engineering support.

WhatsApp for order notifications. Email notifications land in spam in Zambia. WhatsApp is how people actually communicate. I wired order confirmations through WhatsApp. Simple integration, big difference for the client's team day-to-day.


Stack

  • Frontend: React 18 + TypeScript, bundled with Vite
  • Backend: AWS Lambda functions behind API Gateway
  • Database: DynamoDB (single-table design with GSIs)
  • Auth: Two separate Cognito user pools (customers and staff)
  • Storage: S3 for product images and assets
  • Email: SES for transactional email
  • Secrets: AWS Secrets Manager
  • Hosting: Amplify Hosting (frontend), Lambda/API Gateway (backend)
  • Notifications: WhatsApp integration for order updates

Challenges & solutions

The Firebase migration. Moving production data from Firebase Firestore to DynamoDB isn't a one-to-one mapping. The document model in Firestore needed to be rethought as a single-table DynamoDB design. I migrated the data, transformed the schema, and validated the access patterns before any traffic moved.

Auth complexity with dual pools. Two Cognito pools means two separate sets of tokens, two separate refresh flows, and two separate permission models. Building an auth layer that handles both cleanly took careful design. A customer should never be able to access staff endpoints and vice versa.

Building for a non-technical client. The deliverable wasn't just software. It was a system the client could own and run. That meant documentation, sensible naming in the AWS console, a deployment process they could follow, and post-launch support to make sure they were actually comfortable operating it.


Outcome

Supply Circuit is live and operational. The platform handles the client's eCommerce operations on a full serverless AWS stack. The Firebase prototype has been retired. The client's team can manage deployments, monitor the system, and operate the business without ongoing engineering involvement.

Supply Circuit product listing

Supply Circuit order and checkout flow