Product project
Jestock
Track stock and sales in real time, from the counter or from a phone.
- My role
- Designer & developer
- Period
- 2025 — 2026
- Which country
- Cameroon
- Link
- On request
Jestock is an inventory and sales management app for retail shops. A single REST API feeds an Angular 18 back office and a Flutter mobile app. It is also my proving ground for those three technologies.
The problem.
Many small shops still track stock in a notebook or a spreadsheet. The problem isn't a lack of tools — it's that existing tools assume an always-on computer, a stable connection and accounting vocabulary. This needed to work at the counter, on a phone, in the shopkeeper's own words.
Precisely, here is my contribution on this project.
What I did
- 01
Domain modelling
I modelled products, variants, stock movements and sales, making the stock movement the source of truth: inventory is a computed state, not a hand-incremented counter that eventually lies.
- 02
FastAPI REST API
I built the API in FastAPI on PostgreSQL: JWT authentication, input validation, inventory and sales endpoints, and generated OpenAPI documentation — the same API serving web and mobile strictly alike.
- 03
Angular 18 back office
I built the management interface in Angular 18: catalogue, stock in and out, sales history and summary tables for the owner.
- 04
Flutter mobile app
I developed the Flutter app for counter use: recording a sale in seconds, checking stock, and an interface designed to be usable one-handed while serving a customer.
Where this product lives, and where it was built from.
Which country
Built for retail in Cameroon: small shops, intermittent connectivity, counter use on entry-level Android phones.
Cameroon
Yaoundé
3.85°, 11.50°
Cameroon
The stack.
Backend
- FastAPI
- Python
- PostgreSQL
Web
- Angular 18
- TypeScript
Mobile
- Flutter
- Dart
API
- REST
- JWT
What came out of it.
One REST API serving two very different clients, web and mobile.
Inventory computed from movements, so it stays auditable and reconcilable.
A project that let me pick up FastAPI, Angular 18 and Flutter on a real case.