All projects

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.