AI Food Donation Matching System -- 2
Budget / Salary₹1,500–12,500
TypeFreelance project
LocationRemote
Posted2 hours ago
Project Title: AI-Powered Food Donation Matching Platform
One-liner: An intelligent last-mile logistics system that converts free-text food donation descriptions into structured data and matches them to the most suitable shelter using a rule-based feasibility filter and multi-criteria ranking engine.
Role: ML Engineer / Full-Stack Developer (end-to-end design & build)
What it does:
Donors describe a donation in plain language (e.g. "20 packets of fresh sandwiches, good for 3 hours"). The system extracts structured intent, filters out shelters that can't realistically accept it, then ranks the remaining candidates by real-world urgency and fit — not just distance.
Architecture (3-stage pipeline):
Extraction layer — LLM-based NLP parses free text into structured JSON (food type, quantity, unit, condition, time window). No decision-making here, purely language → structured data.
Feasibility layer — Deterministic rule engine + PostgreSQL/PostGIS filters shelters by acceptance policy, capacity, geofenced distance, and operating hours. No ML used here by design — rules are more reliable and auditable for hard constraints.
Ranking layer — Weighted multi-criteria scoring engine (urgency, capacity-match ratio, distance, pickup deadline, compatibility) to prioritize among feasible matches.
Tech stack: Python, LangChain (LLM orchestration + structured extraction), PostgreSQL + PostGIS (geospatial feasibility filtering), FastAPI, MLOps-style modular architecture (component → entity → config → pipeline → app.py)
Key engineering decisions / talking points (for interviews):
Deliberately kept LLM scope narrow (extraction only) instead of letting it make matching decisions — improves reliability, auditability, and cuts inference cost.
Separated deterministic constraints (rules/SQL) from probabilistic ranking (weighted scoring) — a hybrid system rather than "throw an LLM at everything."
Designed the ranking layer to be upgradable to a learned model later once labeled outcome data is available, without touching the extraction or feasibility layers.
One-liner: An intelligent last-mile logistics system that converts free-text food donation descriptions into structured data and matches them to the most suitable shelter using a rule-based feasibility filter and multi-criteria ranking engine.
Role: ML Engineer / Full-Stack Developer (end-to-end design & build)
What it does:
Donors describe a donation in plain language (e.g. "20 packets of fresh sandwiches, good for 3 hours"). The system extracts structured intent, filters out shelters that can't realistically accept it, then ranks the remaining candidates by real-world urgency and fit — not just distance.
Architecture (3-stage pipeline):
Extraction layer — LLM-based NLP parses free text into structured JSON (food type, quantity, unit, condition, time window). No decision-making here, purely language → structured data.
Feasibility layer — Deterministic rule engine + PostgreSQL/PostGIS filters shelters by acceptance policy, capacity, geofenced distance, and operating hours. No ML used here by design — rules are more reliable and auditable for hard constraints.
Ranking layer — Weighted multi-criteria scoring engine (urgency, capacity-match ratio, distance, pickup deadline, compatibility) to prioritize among feasible matches.
Tech stack: Python, LangChain (LLM orchestration + structured extraction), PostgreSQL + PostGIS (geospatial feasibility filtering), FastAPI, MLOps-style modular architecture (component → entity → config → pipeline → app.py)
Key engineering decisions / talking points (for interviews):
Deliberately kept LLM scope narrow (extraction only) instead of letting it make matching decisions — improves reliability, auditability, and cuts inference cost.
Separated deterministic constraints (rules/SQL) from probabilistic ranking (weighted scoring) — a hybrid system rather than "throw an LLM at everything."
Designed the ranking layer to be upgradable to a learned model later once labeled outcome data is available, without touching the extraction or feasibility layers.
Apply on Freelancer →
Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.