Skip to main content
All workConcept project

Tulips: flower shop e-commerce

A complete online shop with Stripe checkout, customer accounts, and an admin dashboard to manage products and orders.

  • E-commerce
  • Stripe payments
  • Admin dashboard

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

Selling online without spreadsheets

A small shop needs to sell online without juggling spreadsheets and manual payments.

  • Orders and payments are tracked by hand.
  • Stock counts drift, especially when one bouquet uses several flowers.
  • Customers want to browse by occasion, colour or price.

What we built

What customers and the shop can do

Browse with filters

Customers browse the catalogue and narrow it down by occasion, colour and price.

Secure checkout with Stripe

Prices include GST, and payment runs through Stripe, so card details are handled by Stripe rather than the shop.

Customer accounts

Customers sign in with email or Google and see their past orders.

Bouquets that keep stock right

Selling a bouquet automatically takes each flower in it out of stock.

An admin dashboard

The shop manages products, photos, stock and orders from one dashboard.

Built for phones, light or dark

The layout is designed for phones first, with a light and a dark theme.

After launch

The part many builds skip

After launch, we tested the live site end to end and found that a customer could be charged for an order the shop couldn’t fulfil.

We fixed it so they’re refunded automatically and told clearly what happened.

Intended benefits

Less admin, happier customers

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.

  • Less admin

    Orders and payments arrive together, with no spreadsheet to update.

  • Stock stays right

    Stock updates itself, including every flower in a bouquet.

  • Customers protected

    If an order can’t be filled, the customer is refunded automatically.

  • Easy on a phone

    Browsing and checkout are designed for phones first.

See it

Try it yourself

Try the live demo

Filter the catalogue, add a bouquet 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 Tulips demo

Need an online shop like this? Let’s talk

Tell us what you sell and how customers buy it, and we’ll suggest what would help most and send a clear written quote.

For developers

Under the hood

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

  • A real Stripe checkout in test mode, not a mock payment flow.
  • Failed payments are recorded as failed orders, not lost.
  • Orders move from pending to paid, processing and delivered, or cancelled.
  • Products have categories and filterable attributes, so new product types fit in.
View the Tulips code on GitHub