Inspiration

Elk River Food Pantry told us the Friday they cannot process tree-ripe peaches, the flats go in the compost. SurplusLink is the cooler board after that conversation.

The Earth Forward brief is about keeping food in kitchens instead of landfills. We did not want another marketplace with accounts and prices. We wanted the hours-before-compost view a pantry coordinator can actually use: what is on the farm, what still fits this kitchen, and which stop to hit first.

What it does

Farmers list leftover harvest with a condition tag, crate photo, load-out gear, and a compost clock. Kitchens (pantry, hot-meals, school, community fridge) claim a full lot or a split, then print a cooler run sheet — urgent first, then a nearest-neighbor drive from Elk River.

The board also shows kitchen fit vs condition (tree-ripe peaches are a poor fit for a pantry that cannot process them today, and a good fit for a soup line). Farmers get a pickup inbox: mark picked up, or release a no-show so the lot goes back on the board. English and Spanish toggle in the header. Reset demo restores this morning's seed harvest.

Impact numbers are briefing math, labeled as such: about 1.2 lb per meal and 2.5 kg CO₂e per kg vs landfill — not a lab measurement.

How we built it

Next.js 16, TypeScript, Tailwind v4, and shadcn/ui. All state lives in the browser (localStorage) so a judge can reset, claim, and print without signing in. The live demo is a Node web service on Render. Crate photos ship with the repo so the board looks like a cooler, not a spreadsheet.

Challenges we ran into

Keeping the carbon strip honest instead of a fake-precision calculator. Making partial claims and no-show releases feel like a real cooler, not a shopping cart. Hosting: this is a Next.js app, so a static-site host does not work — it has to be a Node web service. Fitting kitchen chips, filters, and crate photos on a phone without turning the board into a form.

Accomplishments that we're proud of

A single usable slice: post → claim (including a split) → run sheet → farmer inbox, with EN/ES, on a public URL. The compost clock and kitchen-fit tags make the Earth Forward point without a lecture.

What we learned

Food rescue fails on timing and fit, not on “more listings.” A pantry that cannot process tree-ripe fruit should see that as a poor match, not as a green claim button. Shipping a demo that judges can click in one minute beat adding accounts.

What's next for SurplusLink

A shared board (not just each browser), SMS or a printed slip for the farmer, and a real Friday with Elk River instead of seed data.

Built With

Share this project:

Updates

Submission history