Skip to main content
All workConcept project

Millstone: online ordering for a 3-branch bakery

Order ahead, pay online or at pickup, and standing orders for cafés, with a simple dashboard for each branch.

  • Ordering
  • Payments
  • Admin
  • Recurring orders

The demo runs in Stripe test mode. Use the test card 4242 4242 4242 4242 with any future expiry date and any CVC.

The problem

Phone orders take staff away from the counter

A busy bakery with three branches loses time, and sometimes orders, in small ways every day.

  • Phone orders interrupt staff in the middle of service, and some calls go unanswered.
  • Cafés and regulars order the same thing every week, by phone, every week.
  • Sold-out items lead to awkward call-backs.
  • Each branch runs its own day, with its own orders.

What we built

What customers and staff can do

Branch picker and live menu

Customers choose their nearest branch and see what’s available today. Sold-out items show as sold out, so nobody orders something that isn’t there.

Pay online or at pickup

Checkout lets customers pay by card online, or pay when they collect their order.

Guest checkout or an account

Customers can order as a guest, or create an account to keep their details and see their order history.

Standing orders for cafés and regulars

Set up a recurring order once, then skip a day, pause or end it when needed.

A simple dashboard for each branch

Staff see today’s orders for their branch, mark them ready, switch items to sold out and update product photos.

Intended benefits

Less time on the phone, fewer mix-ups

This is a concept project, so these are the benefits it was designed for, not measured results. We’ll show real results once a client shares them.

  • Fewer phone calls

    Customers order online instead of ringing during the rush.

  • Fewer mistakes

    Every order arrives written down, with the items, branch and pickup details.

  • Predictable wholesale

    Standing orders from cafés arrive every week without a call.

  • Each branch, its own day

    Staff only see the orders for their branch.

See it

Try it yourself

Try the live demo

Pick a branch, add a few items and check out as a customer would.

The demo runs in Stripe test mode, so no real money changes hands. Use the test card 4242 4242 4242 4242 with any future expiry date and any CVC.

Try the Millstone demo

Run a bakery or café? Let’s talk about yours

Tell us how your business runs, and we’ll suggest what would help most and send a clear written quote.

For developers

Under the hood

Next.js, React, Tailwind CSS, Firebase, Stripe, Auth.js and Vercel.

  • Payments sit behind one adapter, in Stripe test mode only.
  • The daily job that creates standing orders is safe to run twice.
  • Dates and times follow Melbourne time, including daylight saving.
  • Public forms and sign-in are rate-limited.
  • Scripts that touch live data do a dry run first.
View the Millstone code on GitHub