Trestle
Know what's in the tin before you pack the table.
Trestle lets a market stallholder tap to record each sale as cash or card, then shows the day's takings, best sellers and leftover stock, saved on their phone.
Zip, 207 KB. MIT licence. Built 29 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 tool needs, already done.
Pages and screens
- Landing page
- Tally screen
- Products list
- Day summary
- History
Features
- Tap a tile to record a sale as cash or card
- Undo mistakes with one tap
- Day summary: units sold and takings by payment type
- Shows best sellers and leftover stock
- History of past market days kept in the browser
- Works offline in a field with no signal
Palette
#1c2620#4a564e#1f5a3d#17472f#fffdf8#dcebdf
Style
- Warm
- Editorial
- Playful

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 trestle.zip
cd trestle
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

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.

Cutwise
Cutwise turns a hanging weight and a customer's cut choices into a take-home estimate and prints a one-page cut sheet for the butcher's block.
