Skip to content
Yun-0000Public

About

Turn mixed school-supply donations into complete kits and a focused restock list.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation


KitBridge

Turn mixed donations into complete school-supply kits.
Know how many kits you can pack right now, and what to buy next.

Open planner Watch the 2:06 demo

CI MIT license Runs in your browser UN SDG 4.5

KitBridge demo film: 8 kits from stock, 12 after a $5 notebook pack
▶ Watch the narrated demo (2:06, captions on screen) · also on YouTube

The problem

A school supply drive can have plenty of donations and still run short of complete kits. One group needs crayons, another needs calculators, both need notebooks, and some kits were promised weeks ago. Counting by hand, it is hard to see what to pack, and which purchase actually finishes more kits.

What KitBridge does

1 · Count 2 · Plan 3 · Pack
One drive sheet for stock on hand, the recipe for each kit and restock prices. See kits now and after restock, what runs out first, and the one purchase that helps most. Print a checklist for each kit type, or export CSV.

The example drive packs 8 kits from stock. One $5 notebook pack brings that to 12 of 16. Change any number and the plan updates as you type.

Plan: 8 kits now, 12 after restock, with the drive sheet below
The answer on top. Kits now and after restock, and why.
Packing checklists with a Buy first card
Packing sheets. Exact totals for each kit, ready to print.
Shortage: 8 promised kits need 8 backpacks, only 7 on hand
Promises are hard limits. KitBridge names the shortage instead of breaking a promise.
KitBridge on a phone
Works on a phone. Count right in the stockroom.

Made for supply drives

  • See the bottleneck. The plan names the supply that runs out first and what the next kit still needs.
  • Keep commitments. Set a minimum for each group and see shortages when stock falls short.
  • Spend only where it helps. If a purchase does not finish another kit, KitBridge spends nothing.
  • Keep your data. Drives save on your device. JSON backups let you move them. Nothing is sent to a server.

Supports 3 kit types, 12 items, 100 requested kits and a $1,000 restock budget.

How it works

flowchart LR
  A["Stock · recipes<br/>promises · budget"] --> B["Step 1<br/>Maximize complete kits"]
  B --> C["Step 2<br/>Cheapest purchase<br/>for that total"]
  C --> D["Packing sheets<br/>+ shopping list"]
Loading

KitBridge solves a two-step integer program with the HiGHS solver, compiled to WebAssembly and running in a Web Worker. Money is counted in whole cents. The tests check the solver against brute-force enumeration on 96 small drives.

Built with React, TypeScript and Vite.

Run locally

Requires Node.js 22.

npm ci
npm run dev
Command Purpose
npm test Check planning, shortages, exports and saved drives.
npm run build Create the production build.
npm run preview Preview that build locally.

The demo film is made with AI and Remotion: the narration, music and sound effects are AI-generated, and every scene is built from screenshots of the real app. See video/.

License

MIT. Font license.

About

Turn mixed school-supply donations into complete kits and a focused restock list.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages