- Index:
- 03
- Industry:
- E-commerce & Retail
- Year:
- 2025
- Duration:
- 12 weeks
- Status:
- Delivered
Flora & Fable Floristry
Brand identity, bespoke e-commerce storefront, postcode delivery engine, and self-service admin dashboard for a Glasgow floristry business.
favicon & van decal
- · Grown-up and gentle, never twee
- · Sentence case for headings, no exclamation marks
- · Name the flowers, name the grower where we can
Flora & Fable had outgrown their previous setup. They needed a platform that could handle the full complexity of a modern floristry business: postcode-based delivery across Glasgow, seasonal and time-limited collections, gift customisation, discount management, and real-time stock accuracy during high-demand periods like Valentine's Day. The solution had to be as beautiful as the flowers, and simple enough for the team to manage without a developer on call.
We delivered a bespoke Next.js e-commerce application built on Supabase and Stripe. Customers browse curated collections, check out through a guided flow handling delivery scheduling, postcode-based fee calculation, gift wrapping, and discount codes, all in an animated interface. The admin dashboard gives the team full control over products, orders, coupons, FAQs, and gallery content with real-time metrics and low-stock alerts. Every transaction is protected by server-side price validation, atomic stock operations with row-level locking to prevent overselling, and idempotent order creation to eliminate duplicate charges, even under peak Valentine's traffic.
Brand Identity & Design System
We established a visual identity that captures the warmth and elegance of Flora & Fable's craft. Every colour, typeface, and design token was chosen to work seamlessly across the storefront, email communications, and printed materials.
- →Logo design with light and dark variations for web and print
- →Botanical colour palette and typography system
- →Component design system with reusable tokens for consistent styling
- →Animated interaction patterns using Framer Motion
favicon & van decal
- · Grown-up and gentle, never twee
- · Sentence case for headings, no exclamation marks
- · Name the flowers, name the grower where we can
Storefront & Shopping Experience
We built a storefront that makes browsing and buying flowers feel effortless. Curated seasonal collections, product pages with gift customisation options, and a guided checkout flow handle everything from bouquet selection to gift wrapping.
- →Curated homepage with seasonal collections and featured products
- →Product pages with variant selection, gift wrapping, and personalised message options
- →Persistent cart with real-time stock validation and animated feedback
- →Guided multi-step checkout with Stripe payment integration and discount codes
- →Server-side price validation and idempotent order creation to prevent duplicate charges
Fresh bunches, delivered same day
Grown and gathered around Glasgow. Order before 1pm for delivery today.
A fresh bunch on your doorstep, weekly or fortnightly. Pause or cancel any time.
Delivery & Logistics Engine
Glasgow delivery is not one-size-fits-all. We built a postcode-based delivery engine that calculates fees by zone, enforces cut-off times, and lets customers choose delivery date and time slot, all validated server-side.
- →Postcode lookup with zone-based delivery fee calculation
- →Delivery date picker with day-of-week availability and cut-off time enforcement
- →Time slot selection with capacity limits per slot
- →Atomic stock operations with row-level locking to prevent overselling
- →Order confirmation emails with delivery details via Resend
Enter your postcode to see the earliest available slot.
| Zone | Postcodes | Cut-off | Fee |
|---|---|---|---|
| Zone A | G11, G12, G13 | 1:00pm | Free |
| Zone B | G1, G2, G3, G4 | 1:00pm | £3.50 |
| Zone C | G14, G20, G31, G41 | 11:00am | £5.50 |
| Zone D | G42, G43, G61, G64 | 11:00am | £7.00 |
- · Leave with a neighbour if no answer, never on a doorstep in rain
- · Sympathy orders always hand-delivered, no leaving unattended
- · Photo confirmation sent to the sender by text
Admin Dashboard & Content Management
The dashboard puts the team in full control of the business, no developer needed. Products, collections, orders, coupons, FAQs, and gallery images are all managed through an intuitive interface with real-time metrics and low-stock alerts.
- →Product management with variants, pricing, images, and stock levels
- →Order management with status tracking, filtering, and fulfilment workflows
- →Coupon and discount code creation with usage limits and expiry dates
- →Content management for FAQs, gallery, and homepage sections
- →Real-time dashboard with revenue metrics, order volume, and low-stock alerts
- →Four-tier role-based access control with row-level security across all tables
| Order | Recipient | Slot | Status |
|---|---|---|---|
| FF-2041 | M. Sinclair | 10am-1pm | New |
| FF-2040 | A. Devine | 1pm-4pm | Making |
| FF-2039 | R. Kerr | 1pm-4pm | Ready |
| FF-2038 | C. Boyd | 10am-1pm | Dispatched |
| FF-2037 | E. Wallace | 4pm-7pm | Delivered |
| FF-2036 | J. Prentice | 10am-1pm | Delivered |
- 01The team manages products, orders, collections, and content entirely through the dashboard, zero ongoing developer support needed
- 02Postcode-based delivery zones with time slot booking reduced delivery errors and customer service queries
- 03Scheduled Valentine's Day collections with stock safeguards and idempotent checkout ensured a smooth, high-confidence trading period
- 04Atomic stock operations with row-level locking eliminated overselling, even under concurrent demand
- 05Zero marketplace fees, the business owns their entire customer relationship and revenue stream
- Framework
- Next.js 16 with React 19, App Router, and Turbopack
- Database
- PostgreSQL via Supabase with 15 tables, row-level security on every table
- Authentication
- Supabase Auth with four-tier RBAC, owner, manager, staff, viewer
- State Management
- Zustand with persistence for cart state and checkout progress
- Styling
- Tailwind CSS 3.4 with CSS custom properties, Framer Motion for animations
- Validation
- Zod schemas for all inputs, forms, API payloads, and environment variables
- Payments
- Stripe Checkout with server-side price validation and idempotent order creation
- Resend with React Email templates for order confirmations and delivery notifications
- Storage
- Supabase Storage for product images and gallery content with signed URLs
- Testing
- Playwright end-to-end tests covering checkout, delivery, and admin workflows
- Stock Integrity
- Atomic operations with row-level locking, zero overselling under concurrent demand
- Payment Safety
- Idempotent order creation prevents duplicate charges, even during retries
- Peak Readiness
- Valentine's Day load tested, stock safeguards and checkout validated under pressure
- Delivery Validation
- Server-side postcode verification, zone calculation, and slot capacity checks
- →TypeScript strict mode with noUncheckedIndexedAccess
- →Row-level security on all 15 database tables
- →Zod validation on every API input and form submission
- →Playwright end-to-end test coverage for critical flows
- →Immutable state patterns throughout with Zustand
- →Server-side price validation, no client-trusted pricing
- Next.js 16
- TypeScript
- Supabase
- Stripe
- Tailwind CSS
- Framer Motion
- Zustand
- Zod
- Resend
- Playwright
Studio Management Platform
One platform for every service business, adaptive onboarding, intelligent forecasting, and a freelancer marketplace that scales from solo operator to multi-location chain.
Have a project?
Web, software and brand work for businesses across the UK. Tell us what you are building.
Glasgow GFX Print Studio
- Visit
- The Pentagon Business Centre
Unit 204b, 36–38 Washington Street
Glasgow G3 8AZ - Call
- 0141 345 5841
- Hours
- Mon–Fri 9:00–18:00
Sat 10:00–18:00
Sun closed - Service area
- Glasgow, Hamilton, Paisley, East Kilbride, Motherwell. Free delivery across Central Scotland on orders over £50.