All projects
Web DevelopmentE-commerceBespoke DevelopmentNext.jsReact

Walnutterz – A Shop and Community for Hand-Painted Football Figures

Walnutterz makes hand-painted football figures with real walnut-shell heads, a collectible that sells on its story as much as its look. I planned the site from a structured discovery brief and built a shop and community site the maker runs: secure checkout, guided commissions, a Football Time Tunnel, a moderated customer gallery and a back office that needs no developer.

Jump to a section
Walnutterz – A Shop and Community for Hand-Painted Football Figures

Built with

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Prisma
  • Auth.js
  • Stripe
  • Nodemailer
  • Zod
  • Nginx

At a glance

Client

Walnutterz, a Wakefield maker of hand-painted football figures with real walnut-shell heads

The product

collectible club and country figures, plus bespoke commissions for teams, awards and gifts

What I built

an online shop and community site the maker runs, from products and categories to orders and emails

Status

live at walnutterz.co.uk since August 2026, replacing a Squarespace site


A product that needs a story

Walnutterz figures aren't toys. Each one starts as a plaster cast, sets for a day, and is sanded, primed and hand-painted over several hours. They're collectibles for people who grew up with 1990s and early-2000s football, gifts, and trophies for grassroots clubs and end-of-season awards.

A product like that doesn't sell from a catalogue grid alone. People need to see how it's made, find the figure that means something to them, and know they can commission one for their own team. So the site had to tell the story as well as take the order.


Planned before it was built

BriefStructureContentBuildHand over

The project started with a structured discovery brief produced with Web Brief AI, the briefing tool I built. It covered the business, its audience, competitors, the page structure and the features to build. Several pages came directly out of that discovery work, including the quick-turnaround page and "Why walnut?", which explains what makes the figures different.


What the site does

A shop that can't be tampered with

For the business: customers can buy figures online with confidence, and the business can trust every order.

Under the hood: the basket opens as a slide-out drawer, and checkout runs through Stripe in pounds sterling, with guest checkout. Prices are always recalculated on the server from the product database, whatever the browser sends. An order is only marked paid when Stripe's signed confirmation arrives, never because someone reached the "thank you" page. Repeated, delayed or expired payments are handled safely.

Commissions turned into a guided brief

For the business: bespoke figures for clubs, awards and gifts are a big part of what Walnutterz offers, and a commission needs the right details up front.

Under the hood: the "Design your own" page walks the customer through what the maker needs, with uploads for the kit, the badge and a team photo. Each request lands in a design inbox in the admin, rather than an email thread.

Telling the story

For the business: the craft and the nostalgia are the reasons people buy, so they get space of their own.

Under the hood: a Making-of page walks through the six stages of a figure, and Meet the Maker tells how it began. The Football Time Tunnel goes decade by decade through the game's legends and links each one to the matching figure. A Gift Finder lets people browse by occasion: birthdays, Father's Day, Christmas, retirements, coaches, Player of the Match and club awards.

A community around the figures

For the business: customers showing off their figures is the best advertising a small maker can get.

Under the hood: customers can upload photos to a gallery, and each one appears only once the maker approves it. Featured Figure of the Week is chosen automatically from the last seven days of paid sales, so abandoned baskets can't push a figure up the rankings.

A shop the maker runs

For the business: a one-person business can't wait on a developer to add a figure or change a setting.

Under the hood: the admin covers products and images, categories, orders and their status, design requests, gallery moderation, site content, customer messages and users. A dashboard flags anything that needs attention, such as email or payments not being set up. Seven customer emails can be edited from the admin, and every send is logged. Payment and email settings are stored encrypted and take effect immediately, with a "test connection" button that says exactly what's wrong if a key has been pasted in the wrong box. Edits to products show on the home page within minutes. The catalogue has grown from 13 products in launch week to 51, organised into categories the maker manages; deleting a category never deletes the figures in it.

For the business: people searching for football gifts and memorabilia should find the figures.

Under the hood: every page has its own search title, description and social preview. Structured data describes the business, each product and its price, the FAQ and the blog, and the sitemap lists every page and product automatically.


Built with care

  • Passwords are hashed, and the login doesn't reveal whether an email address is registered.

  • Sign-in, registration, contact and gallery uploads are rate-limited.

  • Uploaded files are checked by their actual contents, renamed, and served in a way that stops them running as code.

  • A strict content security policy allows Stripe as the only outside service.

  • It runs on a lightweight database with a nightly, verified backup, with no separate database server to maintain.


What Walnutterz has now

  • A shop built around the product's story, not just a catalogue.

  • Secure online sales, with prices set by the server and payments confirmed by Stripe.

  • A guided route for bespoke commissions.

  • Community features that turn customers' photos and sales into content.

  • Full control for the maker, from products and categories to emails and payment settings.


Technical stack

For readers interested in the technology:

Next.js 15 and React 19 in TypeScript, Tailwind CSS, Prisma with SQLite, Auth.js, Stripe Checkout with signed webhooks, Nodemailer and Zod, self-hosted behind nginx.


Selling something people need to see the story behind?

A niche product needs more than a template shop. If yours depends on craft, commissions or community, I can build a site around how you sell, and give you the tools to run it yourself.

Let's talk about your shop

Gallery

E-commerceStripeCustom OrdersCommunity FeaturesAdmin DashboardNext.jsPrismaSmall Business