Case study
TMS Light
Lightweight transport billing product: work order → invoice → receipt, plus aging and revenue reports.
FIG.1Logistics

- Role
- Founder of the repo; sole frontend and infrastructure developer (81% of commits)
- Stack
- AngularNestJSMongoDBTurborepoPlaywrightGitLab CI
- Result
- Scaffold to UAT in < 4 weeks.
Problem
Smaller carriers needed the billing half of a TMS without the full yard platform.
What I owned
Founder of the repo; sole frontend and infrastructure developer (81% of commits)
What I built
- Built 17 lazy-loaded feature areas and the shared atomic component library.
- Built A4 invoice and receipt print layouts matched to the design.
- Stood up CI/CD and the UAT environment, with a Thai deploy runbook.
System shape
pnpm + Turborepo monorepo. Angular 22 (zoneless, signals) back office, NestJS 11 + Mongoose API, a shared-types package as the contract, Playwright E2E, GitLab CI to Huawei SWR.
What changed
From empty scaffold to a running UAT in under four weeks.
Outcome
Scaffold to UAT in < 4 weeks.