Inspiration
Plenty of fresh produce goes unused while households nearby go without. Getting it from one place to the other means several organizations have to agree on storage, transportation, and pickup times. HarvestNet helps them coordinate while each organization stays in charge of what it commits to.
What it does
HarvestNet connects produce donors, food banks, and households through a multi-agent negotiation system.
Households submit their needs, review their answers, and choose food banks. A calculator determines their weekly fair share. Donors report surplus produce, and organization agents negotiate a plan around available storage, transport, household needs, and produce usable life.
Nothing is committed until a manager explicitly approves the exact terms. A household advocate can suggest changes, but it can’t approve anything on another organization’s behalf.
If a cooler fails, the affected organization can search for alternatives, see why each option does or doesn’t fit, and ask for a fresh approval. Households get a pickup email with where and when to collect their portion, plus a link to release it if they can’t make it.
How we built it
We built a Python backend with transactional records, deterministic calculators and version-bound approvals. React and TypeScript power the household page, donor dashboard, and results page.
Organization agents talk to each other over A2A messaging, and AGNTCY Directory helps them discover each other’s capabilities. Beeceptor stands in for organization systems and simulates cooler failures. n8n Cloud connects the approval and pickup workflows to Amazon SES for email. We deployed the demo on AWS.
The project also includes Claude-backed agent adapters with spending controls and an ElevenLabs voice integration under development.
Challenges we ran into
Our biggest challenge was coordinating agents with conflicting needs while keeping humans in control. We had to reject outdated approvals, prevent double-booked resources, and safely renegotiate when a cooler failed. Connecting the frontend, backend, and sponsor services also required careful testing, with synthetic results clearly separated from live evidence.
Accomplishments that we're proud of
We implemented and tested household requests, negotiation, exact-version approvals, pickup release, and cooler-failure recovery. Automated checks cover persistence, API contracts, transport compatibility, and failure handling. The team also recorded live approval and pickup-email checks.
What we learned
Coordination requires more than just agents negotiating. Reliable calculations, explicit ownership, durable records, and human consent make the resulting agreement trustworthy.
What's next for HarvestNet
Finish and verify the bilingual ElevenLabs voice experience, complete remaining live acceptance checks, and evaluate authorized Claude runs against deterministic baselines.
Built With
- a2a
- agntcy
- amazon-ses
- amazon-web-services
- beeceptor
- docker
- n8n
- postgresql
- python
- react
- sqlite
- tailwind-css
- typescript
- vite
Log in or sign up for Devpost to join the conversation.