Project case study
Ndeeelicious Delight
A full online store for a Halifax bakery selling custom cakes and frozen, ready-to-bake Nigerian-style meat pies, chicken pies and sausage rolls. Customers browse, pick cake sizes and flavours, and pay with Stripe; the owner runs products, orders, delivery, wording and marketing from her own admin.
- My role
- Solo developer: product design, storefront, admin, database, payments, emails and tests, working directly with the bakery owner.
- Built with
- Next.jsReactTypeScriptSupabase (PostgreSQL)Stripe CheckoutTailwind CSSCloudinaryNodemailer (SMTP)PDFKitZodVitestPlaywrightVercelGitHub Actions

The problem
The bakery took orders through Instagram DMs and WhatsApp, which made prices, delivery fees and lead times hard to keep straight. Custom cakes are tricky to sell online: every size has its own price and number of layers, and each layer can have its own flavour and filling. The owner needed to change products, prices, delivery areas and even the site's wording herself, without a developer, and orders had to stay correct even when stock or prices changed later.
What I built
- 01A mobile-first storefront for cakes and ready-to-bake pies. A simple way to order a custom cake: pick a size, then the flavours. A way to shop by budget, showing what fits the amount a customer wants to spend. Secure online payment with delivery and pickup options. An admin where the owner manages products, orders, delivery and the site's own wording. Tools that turn products into posts ready to share on social media.A mobile-first storefront for cakes and ready-to-bake pies. A simple way to order a custom cake: pick a size, then the flavours. A way to shop by budget, showing what fits the amount a customer wants to spend. Secure online payment with delivery and pickup options. An admin where the owner manages products, orders, delivery and the site's own wording. Tools that turn products into posts ready to share on social media.
How it works
- 1
Browse
Customers shop cakes and pies, or set a budget to see what fits.
- 2
Choose
For a cake, pick a size, then a flavour and filling for each layer.
- 3
Pay
Checkout works out delivery, tax and the earliest pickup or delivery date, then hands off to Stripe.
- 4
Track
The customer gets an email and can follow the order's status online.
- 5
Run
The owner manages orders, stock, prices and wording from the admin on her phone.
My approach
I designed it around two people: a customer who should never feel the complexity behind an order, and an owner who should be able to run the whole business without calling a developer. A feature wasn't done when the code existed. It was done when the owner could set it up herself, the customer could use it on a phone, and it still held up after a refresh, a failed payment or a price change. I kept the business rules in one place so every part of the site gives the same answer, treated real orders and the owner's content as things that must never be lost, and chose simplicity over adding more features.
Results & lessons
The bakery now takes orders online with payment up front, and the owner runs the shop herself. The biggest lesson was that simple usually wins. My first version of custom cake ordering was a step-by-step builder, but treating cakes like any other product with a few choices worked better for both customers and the owner. Working closely with a real business owner showed me that being reliable and easy to use matters more than having a long list of features.