Inspiration
Going out should feel simple and safe. Friends with allergies often spend more time reading menus than enjoying the meal. We wanted a tool that understands plain language like late night spicy noodles near me and returns great options with clear allergen signals backed by real evidence.
What it does
Plateful recommends nearby restaurants that fit your cravings and your safety needs. Type a prompt or grab a quick top ten near you. For each place, Plateful shows rating, distance, and an allergen summary. It finds text menus or menu photos, runs OCR, and estimates allergen probabilities by dish with short evidence snippets and links.
How we built it
- Frontend NextJS, React, Tailwind for fast UI and optimistic updates
- Backend Python Flask APIs for search, allergen analysis, images, and review stats
- Agents Letta for stateful orchestration and tool selection, Claude Haiku 4.5 for structured reasoning and extraction
- Data BrightData for Google Maps business info and reviews, web scraping for menus and venue images
- OCR Tesseract or GCV depending on source quality
- Ranking Distance, rating, review count, prompt fit, and allergen fit with tunable weights
- Infra Redis cache for geo results and reports, Postgres for entities and provenance, structured logs and traces for observability
Challenges we ran into
- Finding reliable menu sources and respecting robots rules
- OCR noise from low resolution or stylized menu images
- Normalizing cuisines and dish names across languages
- Calibrating allergen probabilities without overstating confidence
- Keeping latency low while running multiple tools per query
- De-duplicating and filtering venue images for relevance and safety
Accomplishments that we’re proud of
- End to end pipeline from natural language prompt to ranked results with evidence
- Dish level allergen summaries that cite menu text or OCR extracts
- Stable tool schemas with idempotent jobs and caching for fast nearby queries
- Clear UX with interpretation chips, confidence banners, and provenance links
- Solid test coverage for API contracts and prompt outputs
What we learned
- Users want speed and trust. Evidence and confidence scores matter as much as rankings.
- Geo caching by geohash and sensible defaults dramatically improves perceived performance.
- Structured JSON outputs from the model reduce parsing errors and make retries predictable.
- Cuisine priors help, but must stay as hints. Evidence always wins.
- Small quality of life details like distance in meters and simple allergen badges reduce friction.
What’s next for plateful
- Personalization with dietary profiles and explicit allergen sensitivities
- Price level, hours, and live busyness where available
- Reservation and delivery links, plus walk time estimates
- On device OCR and private mode for sensitive searches
- Better multilingual support and regional cuisine priors
- Feedback loops that learn from accepts and dismisses
- Mobile app and offline cache for travel mode
Built With
- brightdata
- claude
- javascript
- letta
- mapbox
- nextjs
- react
- tailwind
- typescript

Log in or sign up for Devpost to join the conversation.