Skip to content

01 / A trading and distribution business · 2026

An ERP that works with no signal

Sales, stock, credit recovery, and cash handover for a trading business, with an Android app that takes orders with no signal.

Role
Solo Full-Stack Engineer
Timeline
Solo build, production-ready
Type
ERP + offline-first Android app
Stack
Laravel 13 · Vue 3 · Pinia · Vue Router · MySQL · Capacitor · Tailwind CSS 4 · Chart.js

At a glance

  • Sales tracking, stock control, credit recovery, salesman monitoring, and a cash handover workflow in one system.
  • A Capacitor Android app that takes orders offline, queues them, and syncs with idempotent uploads.
  • Role-guarded API for admin, salesman, and warehouse users, with photo and GPS proof on every shop visit.

01 / Context

A trading business run on registers and memory

The business tracked sales, stock, and credit on paper and in people heads. The owner wanted a system that did not depend on anyone remembering numbers.

02 / The app

Orders taken on a phone with no signal

Salesmen visit shops with an Android app that saves orders to an IndexedDB cache when the network drops, queues them, and syncs later with idempotent uploads so nothing is double-booked. A camera photo and automatic GPS capture prove the visit.

03 / Roles

Three kinds of users, three surfaces

Admin, salesman, and warehouse users each get a guarded API and a different view of the system. The admin sees a P&L panel that works through sales income, COGS, delivery, rent, electricity, salaries, and other costs down to net income.

04 / Status

Built and ready to deploy

This write-up is a placeholder while the full case study is written. The system is built, tested against seeded data, and ready for the deployment runbook.

role-guarded user types
Vue views
offline-first Android app
seeded products to start