‹ all projects
Napolicaffe · 2026–present

The e-commerce that runs itself

An automation platform that does the analysis Shopify won't — and then acts on it. The goal: no human in the loop except logistics.

automationforecastingpricingml
The e-commerce that runs itself

Problem

Plenty of the shop’s operations were still manual or half-scripted, and the real difficulty was the 360° view: you can’t set prices without knowing costs changed; you can’t restock without forecasting demand. Keeping all the dots connected, by hand, was the bottleneck.

Approach

I built an application that runs the analyses Shopify doesn’t — and then takes action:

every module, the same closed loop

sense — costs, stock, competitors, customers decide — forecast & margin act — reprice, reorder, tag, adjust human — logistics only

The 360° view Shopify won't give you — costs, stock, pricing, marketing and ads kept in sync automatically, so my job is reviewing what the algorithms decide rather than doing it.

See it running

Rather than describe the tool, here it is. The screens below are the real interface running on a fictional catalog — invented brands, SKUs, prices, orders and competitors — so I can show the whole thing without exposing the shop’s numbers.

Launch the interactive demo

The actual app, running in your browser on sample data. Walk the grouped nav — Costs, Selling, Operations — and open any product. Everything that would write data, call Shopify or email a supplier is disabled by design.

Cost watch — the overcharge it caught

Every supplier bill and portal price is tracked per product. When a cost jumps, the anomaly check flags it before it quietly eats margin — this is exactly how it caught a +34% one-off overcharge on one blend, money we then clawed back. Click any product to see its full price history, bill by bill.

The cost-review desk: biggest movers, a flagged price anomaly with the caught overcharge, and the selected product's price-evolution chart against both bills and portal prices

Marginality — which blends actually make money

The view Shopify won’t build: a real monthly P&L that carries costs all the way down — COGS, delivery, discounts, fixed costs — to a net margin, then maps every blend by margin against revenue so the quiet money-losers have nowhere to hide.

Per-product margin map — each blend plotted by gross margin against revenue, bubble size by units sold

Auto-restock — orders itself

Sales velocity from Shopify drives a demand forecast; anything about to run out is surfaced with a suggested quantity, and the weekly schedule places the order with the supplier on its own. The only thing left for a human is receiving the pallet.

The restock forecast: stock and days-of-cover per product, colour-coded urgency, suggested order quantities, and the automatic weekly re-order toggle

Market — priced against the competition

Competitor prices are scraped and lined up against ours, so the pricing engine isn’t guessing in a vacuum — it knows where each blend sits versus the market before it reprices.

The competition view: our cost and price against each competitor per product, with a cheapest / mid-range / most-expensive position label

Result

The system shipped recently, so most of it is still proving itself — but one number is already real: the cost watch has caught several supplier billing mistakes and recovered thousands of francs that would otherwise have been paid without question. The rest of the direction is just as clear: far less work by hand, with my job shifting to reviewing what the algorithms decide rather than doing it. The only step that still needs a person is the logistics.

Notes

The hard part was never any single automation — it was connecting pricing, costs, stock, marketing and ads into one system that reasons about the whole business at once. And because the suppliers expose no API, the modules that touch them act like a person would: reading and driving web portals built for humans, and closing the loop by email. The demo above runs the same code as production, just pointed at a fake catalog with every write switched off.

next project: Building a CHF 500K+ e-commerce from scratch →