Sprinkle: Finding a Better Home for the Things We Donate
Description and use
Sprinkle simplifies donation by automatically identifying nearby organizations that accept specific items, using Gemini for parsing, discovery, research, and matching, and Cloudflare for caching and rate limiting.
Problem
People have useful items to donate but struggle to find nearby organizations that accept them and meet current needs.
Outcome
Sprinkle streamlines the donation process by automating item parsing, organization discovery, policy research, and matching, reducing donor effort and increasing the likelihood that donated items reach organizations in need.
Workflow
- 1. User enters location and donation description in natural language.
- 2. Gemini‑3.5‑flash‑lite parses input into structured donation items.
- 3. Gemini‑3.7‑flash performs grounded Google Search to discover nearby organizations.
- 4. Gemini researches each organization’s donation page via Google Search and URL context to extract accepted items, exclusions, drop‑off details, and current needs.
- 5. Gemini compares donated items with organization policies and assigns a match score.
- 6. TypeScript applies deterministic ranking, caching, rate limiting, and verification rules.
- 7. Results are displayed with verification labels (Confirmed, Likely, Call first, Unknown) and source links.
- 8. User can review and decide where to donate.
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-10-02T14:10:58.049Z