Portfolio · MIDM

MIDM

An inventory and sales manager for shops with weekly analysis and accounting, live and in daily use.

ShippedBuild

The project

A shop runs on two questions all day: what is actually on the shelf, and what sold. Most answers live in a spreadsheet somebody forgets to update, or in the head of whoever happens to be working. The bet was that a small, private tool beats a general-purpose one, because it can be built around how this shop actually works.

What it took

Next.js on Vercel, with Supabase for authentication and Postgres. Inventory modelled by product, colour and size rather than as a flat list, because a shop does not have "forty shirts": it has a size run per colour, and the difference is the whole job.

Two roles, not one: an owner who can see and change everything, and staff who record sales without being able to rewrite the stock behind them. Every stock movement is an adjustment with a reason attached, so a count that drifts can be traced rather than argued about.

The Challenge

Counting. A stock figure is only useful if it matches the shelf, and it stops matching the moment two people are selling at once, or a return is entered twice, or an adjustment is made without a note. The work is not the dashboard: it is the rules underneath it that make a number defensible a week later.

Low stock and out of stock are decided against a threshold per product rather than a global one, because a shop reorders a staple at a different point than an item it holds two of.

Where it stands

Live, in daily use by the shop it was built for.