← All work

Website · 2026

Ember & Oak

A complete e-commerce shop: catalogue with live stock, basket, discount codes, delivery rules, a card checkout and order tracking, plus a shop-keeper admin with dispatch board, stock control and takings.

Try it, live

This isn’t a mock-up. It’s the real application, running on this server with its own database. You get a private copy. Buy something with the test card, then dispatch it yourself.

Open the live demo →

Most small shops are told they need a monthly platform before they can sell online. This demo is the counter-argument: a full shop, custom-built, with no platform underneath and no fees on top.

The customer's side

Products carry real stock counts. When the shelf says two left, there are two left, and when the last one sells the listing says sold out rather than quietly taking money for it. The basket handles quantities, a discount code changes the sums in front of you, and delivery is priced by rule: a flat rate that waives itself over the free-delivery threshold, or free collection from the shop.

The checkout takes a card. It is a demonstration, so it accepts exactly one number, the industry-standard test card 4242 4242 4242 4242, and declines anything else the way a real terminal would: wrong number, expired date, missing CVC each get their own honest error. In a real build this step is Stripe and the rest of the shop does not change. After paying you get an order code and a tracking page with a live status timeline.

The shop-keeper's side

Orders land on a dispatch board sorted by what needs doing: paid, packed, dispatched or ready to collect. One button moves each order along, and the customer's tracking page follows in real time. The stock screen sets prices and shelf counts, flags what is running low, and restocks in a click. Above it all sit the day's takings, the week's takings and the current best seller, calculated from the orders themselves.

Why it matters

Selling something reduces its stock, which updates the shop, which shows on the board, which moves the takings. Every screen reads from the same small database, which is the entire trick of good software: one honest source of truth, presented differently to the person buying and the person selling.

What it does

  • Live stock: selling out hides nothing, it just says so
  • Discount codes and rule-based delivery pricing
  • A card checkout with realistic accept and decline behaviour
  • Order codes with a live tracking timeline
  • Dispatch board, stock control and takings for the shop-keeper