Heft
Know what your pack weighs before you lift it.
Sort your gear into categories, separate base weight from food, water and worn items, and compare two packing lists side by side for different trips.
Zip, 170 KB. MIT licence. Built 26 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
- Hero weigh-in card
- How it works
- Sample pack
- Gear list
- Weight breakdown chart
- Trip comparison
Features
- Groups gear into categories with weight totals
- Splits base weight from food, water and worn items
- Donut chart breakdown by category
- Compares two packing lists for different trips
- Metric or imperial units
- Free, in your browser, no account needed
Palette
#1f2d27#5a6159#fffaf3#d9cfbc#b9ac93#b4471f
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 heft.zip
cd heft
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

Dues
Lists your subscriptions, works out what you really pay each month and year, warns you before renewals and trial ends, and shows what cancelling would save.

Pantry & Plate
Lay recipes on a seven-day grid, set servings, and get one shopping list grouped by aisle with the contents of your pantry already taken off.

Quits
Log shared trip costs in any currency with uneven splits, and see the fewest payments that settle everyone, with all data saved in your browser.
