Skip to content
Amine Mekki
Back to projects

B2B platform for an industrial equipment distributor

The web platform of SEMO, a Sfax-based distributor of professional tooling and industrial equipment with a catalog of more than 10,000 references. Freelance mission covering the whole chain: frontend, backend, Docker setup and deployment pipelines.

Role
Freelance full-stack developer
Client
SEMO
Stack
Next.js, NestJS, TypeScript, PostgreSQL, Prisma ORM, Docker, React, Docker Compose, CI/CD, Git

Problem

SEMO supplies workshops, construction companies and industrial clients across Tunisia. The company needed a web platform able to carry its catalog and partner brands, and to turn visits into quote requests from professionals.

Architecture

A Next.js frontend over a NestJS API, with PostgreSQL and Prisma for the catalog and quote requests. I built both sides and the infrastructure around them: Docker and Docker Compose for reproducible environments, and CI/CD pipelines that build, check and deploy on every push.

Engineering decisions

One developer, one coherent stack

On a solo mission, a shared TypeScript stack across frontend and backend keeps the mental cost low. Types cross the boundary instead of being redefined on each side, which matters more when nobody else is there to catch the drift.

Pipelines before the first release, not after

Setting up Docker and the deployment pipeline early meant every later change shipped the same way. For a client without an internal tech team, a deployment nobody has to think about is part of the deliverable.

Quality & reliability

Validation at the API boundary, Dockerized environments, and automated build and deployment pipelines so releases stay repeatable and quick.

Outcome

The platform is live at semo.com.tn: catalog, partner brands and quote requests for B2B clients.

Links