Back to all projects
Business SoftwareLive2025

SOMIC Sales Tracker

A real-time sales and inventory system for field marketers

A full-stack sales management system that gives field marketers real-time dashboards, delivery tracking, and inventory status across multiple routes. Built for a business whose operations were previously tracked in WhatsApp and spreadsheets.

400+
SKUs tracked
3/day
Manual steps eliminated
0
Data loss incidents
Technology Stack
ReactSupabaseJavaScriptPostgreSQLRow-Level Security
The Problem

What needed to change

SOMIC's field sales operation ran entirely on WhatsApp. Sales reps messaged their daily sales to a central phone, and someone manually copied those numbers into a spreadsheet each night. Inventory was tracked on paper, and it was common to discover at delivery time that a product was already sold out. There was no reliable way to see who sold what, in what quantity, and to whom — and no way to know the current stock position without calling multiple people.

Constraints

What made it hard

  • Field reps work in areas with inconsistent mobile data — the system had to tolerate intermittent connectivity.
  • The owner wanted visibility from a phone, not a desktop.
  • Different reps should see only their own sales, while the owner sees everything.
  • Must integrate with the existing product catalogue (400+ SKUs).
The Solution

How we built it

We built a React application on top of Supabase for auth, database, and real-time subscriptions. The data model has three primary tables: reps, products, and sales. Row-Level Security enforces that a rep can only read and write their own sales records — the owner role bypasses RLS. Real-time subscriptions mean the owner's dashboard updates as soon as a rep submits a sale, without a manual refresh. Inventory is computed from the sales table rather than stored separately, which eliminates the two-sources-of-truth problem that plagued the WhatsApp workflow.

Features

What it does

  • Real-time sales dashboard for owner
  • Per-rep mobile view for field marketers
  • Inventory computed from actual sales (no duplicate tracking)
  • Delivery status tracking across routes
  • Reports and analytics (daily, weekly, per-rep, per-product)
  • RLS-enforced permissions (reps see only their data)
  • Product catalogue management
Outcome

What changed

The WhatsApp-to-spreadsheet nightly ritual is gone. The owner now has a live view of sales and inventory from their phone. Sales disputes dropped sharply because every transaction is timestamped and attributed to a specific rep. The business now has historical sales data it can actually analyse — previously, records were lost when the phone that held the WhatsApp messages was replaced.

Reflection

What I'd do differently

If I could rebuild this today, I would add a proper offline queue (with service workers) so field reps on truly dead zones can submit sales and have them sync when connectivity returns. The current app handles intermittent signal but not complete offline. I'd also add a bulk-import tool for the initial product catalogue — copying 400 SKUs one at a time was painful for the client.

Need something like this?

Whether it's a web platform, an AI pipeline, or a full solar installation — we build solutions tailored to your exact needs.