Skip to main content
2026

Inventory forecasting for shops

Next.js
Supabase
PostgreSQL
Row Level Security
Shopify API
Stripe
next-intl
TypeScript

Description

A multi-tenant platform that reads a shop's stock and 90 days of sales, works out the reorder point for each SKU and says what to buy and when. Live demo: sign in with visitante@nathannfs.com and the password estoque2026.

Features

  • Reorder point per SKU from sales velocity, supplier lead time and safety stock
  • Purchase orders suggested with a quantity, and adjustments that can be scheduled ahead
  • Shopify connection by OAuth, pulling stock and orders per shop
  • Organisations with roles, so a shop only ever reads its own rows
  • Self-hosted Supabase behind it, because the free tier pauses a project after a week without traffic

Challenges

  • Deciding what counts as at risk without turning every SKU into an alert: the first seed marked all twelve, which says nothing
  • Keeping the tenant boundary in the database with Row Level Security, not in the interface
  • Running the whole stack on a small VPS next to a live client product, without touching its memory headroom

Learnings

  • That a forecast is only useful next to the number it is compared against, otherwise the reader cannot tell an alert from noise
  • That seeding a demo is product work: the data has to have a shape, not just exist
  • How much of Supabase you actually need when you host it yourself