Inspiration
Safe eating out is hard when you have dietary restrictions; menus and review sites don’t reliably filter for needs like vegan/gluten-free/halal.
What it does
SafeBite exposes an API that finds nearby restaurants by location (lat/lon + radius) and optionally filters by dietary preferences. It also provides basic health/status endpoints.
How we built it
TypeScript + Express backend with middleware (CORS, compression, helmet, rate limiting) and request logging in development. Controllers validate query params and call a service layer to fetch restaurant results.
Challenges we ran into
TypeScript/ESM module resolution issues and missing typings; tightening input validation (lat/lon/radius) and handling dietary query edge cases cleanly.
Accomplishments that we're proud of
Clear validation and consistent API responses; modular controller/service structure; automated tests for controller behaviour.
What we learned
Better handling of query parsing/validation, ESM + TypeScript config pitfalls, and testing async Express controller logic.
What's next for SafeBite
Better dietary tagging accuracy, richer filtering (price, open now), caching, and a frontend UX that guides users through restrictions and preferences.
Log in or sign up for Devpost to join the conversation.