← All projectspersonal product2025Under the hood ↓
FitGuild
The storefront was the easy half. The ERP behind it is the reason I built this.
A storefront with a real back office behind it: nine admin surfaces covering stock, a ten-state order lifecycle, customer records and a sales funnel — the operator's half most shop demos skip.
- Role
- Personal product · solo
- Stack
- DjangoReactPostgreSQLStripeChannels
- Result
- 9back-office surfaces, from stock ledger to sales funnel
- Access
- live site, repo private
A Screens
Click any screen to open it in the zoom viewer. Wheel to zoom, drag to pan.
Under the hood
FitGuild
Under the hood
FitGuild
B Architecture
Why the stock number can be trusted
Nothing changes stock quietly. Every movement, whether a sale or a manual correction, is written down with the quantity before it and the quantity after, and who caused it.
How stock stays honest
Every movement of stock is written down. The quantity before and after each change is kept, so the number on the shelf can always be explained.
- What people use
- Code I wrote
- Where it is kept
- Someone else's service
Stock that can always be explained
A product is not one thing: it is a set of sellable variants, each with its own stock. Every change to that stock is written to a ledger with the quantity before and after, so the number on the shelf is never a mystery.
C Decisions
The calls that made the difference, and what each one bought.
The admin panel is an ERP and a CRM, not a settings page: stock with low-stock thresholds, orders across ten states, promotions, and customer records carrying new, repeat and returning buyers.
Sales leads are measured, not guessed. Every product view, cart add and checkout start is an event, so the funnel down to purchase, average order value, fulfilment and return rates all come out of real traffic.
The full Stripe post-purchase loop lives server-side — payment, order transitions, inventory — and status changes push over WebSockets instead of being polled for.
D What it runs on
- Django
- React
- PostgreSQL
- Stripe
- Channels
live site, repo private