Brendon Rice
Back to work

Love in a Box · E-commerce & admin

An online store and admin panel for Love in a Box.

Love in a Box is a Brisbane business that puts together and sells gift boxes and pamper packs. The site covers the shop customers use and the admin panel the owner uses to cost, build and manage the boxes.

ClientLove in a Box
RoleDesign and build
TypeE-commerce · admin
love-detail.png

The brief

Sell the boxes, and make them easier to put together.

Each box is made up of several items from different suppliers. Before a box can go on sale, someone has to record every item's cost and weight, check it all fits in the box, work out a price, and write the product copy.

So as well as the store, the build includes a costing section for suppliers, items, box sizes and pack designs, with a few AI helpers that fill in forms from supplier web pages. Everything they produce is checked and saved by a person.

StorefrontGift box and pamper pack ranges, product pages, cart, checkout, customer accounts, returns and a news section.
CostingSuppliers, item costs (including bulk case pricing), box sizes and pack designs with a target markup.
AI helpersPull product and supplier details from a URL, write descriptions, and estimate whether items will fit in a box.
Running the shopOrders, refunds, returns, customers, discount codes, shipping rates and newsletter subscribers.

How it works

What's in the build.

01

Adding products

Paste a supplier's product link and the site reads the page (structured data first, then page text) and fills in the name, SKU, price and weight. A person reviews the result before saving it.

02

Designing a pack

Pick a box and add items. The designer totals the cost and shipping, applies the markup, and can run a fit check against the box's internal dimensions.

03

Product pages

Each box lists what's inside, with a name, short description and icon for every item. These can be drafted by AI and edited field by field.

04

Checkout

Shipping and payment happen on the site using Stripe's embedded payment form, with discount codes applied at checkout. Stripe's webhook marks the order paid and sends confirmation emails to the customer and the owner.

05

After the sale

Customers can see their orders and request returns from their account. The owner processes refunds and returns from the admin. A Google product feed is generated from the catalogue.

Stack

What it runs on.

FrameworkNext.js, App Router, Tailwind
DataPostgreSQL via Prisma
PaymentsStripe payment form and webhooks
AccountsAuth.js (NextAuth)
AIOpenAI API for the admin helpers
EmailResend for order and account emails
Next project Play Pawz ↗
Or All work