Setaside
A bookshop website with no checkout. On purpose.
A static website for an independent bookshop with browsable staff picks, a monthly events page and a hold slip customers print or copy and bring to the counter.
Zip, 217 KB. MIT licence. Built 19 Oct 2026.
Live preview
This is the real site, not a mock-up. Click around; the button on it opens the working app.
What you get
Everything a website needs, already done.
Pages and screens
- Staff picks shelf
- Events
- Reading club
- Hold slip form
- Launch page
- Demo shop
Features
- Staff picks filtered by genre and mood
- Printable or copyable hold slip for the counter
- Events and reading club page
- Edit four small JSON files, no developer
- No database, basket or checkout
- Static files, publish on any host
Palette
#1f4d3a#f7f3ea#1c1a17#645e55#d9d2c4#8a2f2f
Style
- Warm
- Editorial
- Minimal

For developers
A real codebase, not a page builder export.
Stack
Vite, React 19 and TypeScript for the app. The launch page is plain HTML, CSS and a little JavaScript with no build step. Vitest for unit tests, Playwright for browser tests.
Run it
unzip setaside.zip
cd setaside
npm install
npm run devIn the zip
site/the launch page with the built app insite/app/src/ande2e/the app source and testsdocs/technical-docs/architecture, runbook, quick referenceSTART-HERE.mdandLICENSE(MIT)
More like this
Also on the shelf

Punnet
A one-page website for a farm stand or greengrocer that shows today's produce prices, a harvest calendar, recipes and a shopping list with a running total.

Tag Table
Pick a category and condition, get a price from your shop's own guide, and print sheets of 24 colour-coded tags for the week's discount colour.

Hangtag
Log each consignment item with its agreed price and split, mark prices down on a schedule, and see what you owe each consignor at month end.
