RestoSafe : Food Safety Transparency App
Free mobile and web app to check hygiene inspection results for 207,000+ restaurants in France. Flutter, Laravel, Astro, Go.
The Challenge
Food safety inspection results from the French Ministry of Agriculture (DGAL / Alim'confiance) are public data, but accessing them remains complex and hard to read for the average consumer. No mobile solution existed to browse this data in real time, visualize it on a map, or get alerted when new inspections are published for favorite restaurants.
The challenge was to make this massive dataset (200K+ establishments, 335K+ inspections) accessible, fast, and usable on a daily basis — all without collecting any personal data.
The Solution
I designed and built RestoSafe, a complete multi-service platform:
- Mobile app : Cross-platform Flutter (iOS & Android) with BLoC state management, Firebase push notifications, Hive local storage, and offline support
- Website : Astro 5 + React 19 + Tailwind CSS 4, statically generated with interactive React islands for the map, search, and statistics charts
- Backend API : Laravel 12 with hexagonal / DDD architecture, immutable value objects (Siret, HygieneRating, GeoLocation), PostGIS geospatial search, and Redis caching
- Sync service : Go 1.22 microservice handling daily DGAL data import with pagination, rate limiting, batch upsert, and Firebase Cloud Messaging push notification dispatch
- Infrastructure : Containerized via Docker Compose, deployed on VPS with Caddy/FrankenPHP and automatic TLS
The "account-free" approach (device UUID + recovery codes) ensures a smooth, privacy-respecting experience.
Key Features
- Advanced search by name, city, or postal code with multi-criteria filters
- Geolocation-based interactive map with color-coded hygiene markers
- Detailed profiles with full inspection history and integrated Google reviews
- Favorites with automatic push notifications (no account needed)
- National statistics dashboard with department-level breakdowns
- Dark mode and bilingual French/English interface
Technologies used
Information
Category
Projet Personnel
Creation date
April 7, 2026