Project Donna · AI dispatch agent

Hey 👋 — I'm Donna.

“Nobody wastes food on purpose. They just run out of time.

I answer when a donor calls with surplus on the clock. I work out what it is and how long it has, rank every pantry that could take it, and start making calls — placed in minutes, not an afternoon of dialing.

Food banks & pantries Grocers & restaurants Farms & distributors Rescue dispatchers
Don't take my word for it — listen in

One call, start to finish

Watch me place 200 lbs of beef.

A real dispatch, played back. The tracker follows the call through all seven stages — hover any stage to pause and see what it does.

LiveDONATION · 2291
47:12:00 LEFT

The record — live
Item
Status
Pantry
Cold storage
Outcome
Playing · hover a stage to pause

Stop me at any point.

Nothing dispatches without a person able to say no. Every donation waits at the gate until you approve it — I do the legwork, you keep the wheel.

Who it's for

If you move surplus food, I can help.

🥫

Food banks & pantries

I only offer you what you can actually store — and I learn your capacity from every conversation.

🛒

Grocers & restaurants

Call once when the walk-in's full. You'll hear back with an itemized result — what was placed, where, and what wasn't.

🚜

Farms & distributors

Truckloads on a clock. I split multi-item loads and place each item where it actually fits.

📞

Rescue dispatchers

I'm your phone bank: you approve, I dial, and you watch every call land on the board live.

Under the hood

For the builders in the room.

Five agents on the job

  • Intake Parserany channel → a structured, multi-item donation
  • Offer Drafterwrites the pitch each pantry actually hears
  • Recipient Callervoice-calls pantries and community-agency leads
  • Manager Copilottune the whole system by chatting with it
  • Donor Callbackitemized "here's what we could and couldn't take"

The stack

  • VAPI + Twilioreal-time voice, inbound and outbound
  • Gemini 2.5 Flashagent brains · Deepgram transcription
  • Scoring enginedeterministic — no LLM touches allocation
  • Workers + D1runs at the edge; nothing lives on a laptop
  • MemoryStorepluggable — point it at your database with one class

Runs fully offline in mock mode — zero API keys, zero network calls. The entire demo scenario works on a plane.

Take it further

If this fits how you move food, let's shape it to you.

My whole architecture is modular — the intake questions, the ranking signals, the scripts I read, the network I call. Every stage on that tracker is a seam you can open. If you're a builder who wants to extend me, or a food bank that wants me tuned to your donors and pantries, reach out and we'll customize it.

For builders

Fork the pipeline

Swap the voice stack, the LLM, the scoring, or bolt on a stage of your own. The pipeline is the contract — the parts behind it are yours.

For food banks

Tune me to your network

Bring your donors, pantries, cold-storage rules and priorities. I learn them and dispatch by them — no spreadsheet, no phone tree.