artlu.ai
100 days. 100 features.
Just AI and an internet connection.
day 113/100 · 100 shipped · 0 to go
← all projects
day 113 · jul 8, 2026 · launched

ReShip — returns-to-reship warehouse ops tool

Turns unfulfilled Shopify orders into reship jobs across a network of warehouse partners — live order matching, per-warehouse logins, and a self-serve inventory importer. Live demo runs on synthetic data.

Internal ops tool for a Shopify brand. Their primary fulfiller ships ~98% of orders; the other ~2% get reshipped from returned stock held across a network of warehouse partners — a reconciliation that used to live in separate, differently-shaped spreadsheets. Single self-contained HTML file on Supabase (Postgres + auth + row-level security), with a Cloudflare Worker holding the secret Shopify credentials server-side.

Core flow: a warehouse logs a returned item (product→Shopify image, colour→variant, size/spec) → admin pulls unfulfilled orders live from Shopify → a two-phase matcher proposes region-locked 1-to-1 matches (complete orders first) → admin bulk-assigns or unmatches → the warehouse marks it picked, adds tracking, and ships. Per-warehouse logins with row-level-security isolation (each vendor sees only its own stock); statuses in-stock→assigned→picked→shipped, plus frozen (order fulfilled elsewhere, auto-freed) and lost.

Engines: per-product size/variant normalization, and product mapping (warehouse raw names → catalog, with learned aliases). Live Shopify order pull + product-catalog refresh via the Worker (client-credentials OAuth with a 24h token cache). Self-serve CSV/Excel importer (SheetJS): drag-to-map columns → auto-match products → bulk-create returns. Inline + bulk inventory editing, soft-delete with a 60-day auto-purge, per-upload batch re-map, and a vendor admin panel (create logins, reset passwords, wipe inventory) via a service-role Worker endpoint. EN/中文 throughout. Deployed on Cloudflare Pages. The linked live demo runs on fully synthetic data.

stack

HTMLCSSJavaScriptSupabasePostgresCloudflare WorkersCloudflare PagesShopify APISheetJS