ia.
internal automation

Internal Automation
Built to work. Yours to run.

Gypsea Gelato.

One web app now runs a Kona gelato maker’s four shops and its wholesale line, from the moment an order comes in to the moment the kitchen takes it out of the freezer.

A gelato business that outgrew its notebook.

Gypsea Gelato makes small-batch gelato in Kailua-Kona. Four scoop shops sell it across the island, from Kealakekua to Waimea, and a wholesale line supplies restaurants in 1.5 gallon buckets. Orders arrived by text and phone call, the kitchen tracked batches from memory, and stock counts lived wherever they were last written down. Every step worked, until the steps had to agree with each other.

One system, four rooms.

We built a single web application shaped around how the business actually moves. Each part of the day gets its own room, and they all share one source of truth:

Store

Order entry with sequential order numbers and Hawaii-time dating. Each shop sees its own supply list beside the gelato. Every order carries one number from entry to freezer.

Kitchen

A fulfillment queue for the people making the gelato, with partial fulfillment for the days only half an order is ready. Inventory is deducted on fulfillment, not on order, so the counts describe the freezer, not the wish list.

Analytics

What sold, what moved, and what it cost, pulled from the same records the orders were run on, not a separate spreadsheet.

Delivery

A driver prep list that groups every pending order by delivery date and totals the pans for the run. The van is loaded from the same records the order was placed on.

How we built it.

The app is a Next.js application with a delta-based inventory API: stock changes are recorded as movements, and the kitchen can enter absolute counts at any time to reconcile the system against the physical freezer. Every adjustment is applied against the stored value rather than a number the browser was holding, so a tab left open overnight cannot undo a fresh count. Supplies are tracked with unit costs and assigned to the shops that stock them, fulfilled orders archive automatically, and new orders trigger notifications so nothing waits to be discovered.

Results.

Orders, production, inventory, supplies, and billing now agree with each other, because they are the same system. The kitchen works from a queue instead of a text thread, stock counts mean what they say, and the owner reads the business from one screen, then goes back to making gelato.

Download the project brief (PDF) →
  • Year: 2026
  • Office: Kailua-Kona, HI
  • Stack: Next.js · Supabase · Stripe · Vercel