Sprinkle: Finding a Better Home for the Things We Donate
Description and use
Sprinkle automatically matches items you wish to donate with nearby charities using Gemini for parsing, discovery, and research, then outputs verified results with source links.
Problem
People have useful items to donate but struggle to find nearby organizations that accept them and meet current needs, with information scattered across many sources.
Outcome
Sprinkle reduces donor effort by automating the entire donation matching process, improving accuracy through verification labels and source links, and caching results to speed up repeat searches.
Workflow
- 1. User enters location (ZIP or city) and a natural‑language description of items.
- 2. Gemini‑3.5‑flash‑lite parses the description into structured items with categories and conditions.
- 3. Gemini‑3.7‑flash performs grounded Google Search to find nearby organizations that might accept those items.
- 4. Gemini reads each organization’s public donation page via Google Search and URL context to extract accepted items, drop‑off details, and current needs.
- 5. Gemini compares donated items with organization policies and assigns a confidence label (Confirmed, Likely, Call first, Unknown).
- 6. TypeScript ranks matches, applies hard limits, caching, and rate limiting, and streams progress to the UI via server‑sent events.
- 7. User reviews results, checks source links, and drives to the chosen organization.
Evidence
Sprinkle finds nearby organizations, checks what they accept, looks for current needs, and matches your items with what it finds.
The Worker handles the API, calls Gemini, streams progress back to the UI, and uses Cloudflare KV for caching and rate limiting.
Results are labeled Confirmed, Likely, Call first, or Unknown.
- Record date: 2026-09-15T13:45:21.669Z