DEV Community

SIKOUTRIS
SIKOUTRIS

Posted on

Nursery Search Platform Architecture: Geocoding French Childcare Data

Nursery Search Platform Architecture: Geocoding French Childcare Data

Finding the right childcare facility is one of the biggest challenges French families face. Between municipal crèches, private nurseries, and family day-care providers, the options are overwhelming—and fragmented across dozens of regional databases.

We decided to solve this by building a unified search platform that aggregates nursery data from official French government sources and makes it instantly searchable by location, capacity, and availability.

The Problem We Solved

Parents spent hours calling municipalities, checking outdated websites, and piecing together information from multiple sources. There was no single source of truth for nursery availability across France.

The Ministry of Solidarity maintains open datasets of accredited childcare facilities, but they're scattered across regional portals and not easily consumable by regular users. We saw an opportunity.

Architecture: From Data to Discovery

1. Data Sourcing

We tapped into France's open data ecosystem:

  • INSEE (Institut National de la Statistique) — municipality boundaries and postal codes
  • Ministère des Solidarités — official nursery registry with accreditation status
  • Regional health agencies (ARS) — capacity, operating hours, and specializations

All data is public, licensed under ODbL, and refreshed quarterly.

2. Geocoding Strategy

The core challenge: matching user searches ("nurseries near my home") to actual facility locations.

We implemented a two-tier geocoding system:

Tier 1: Address-level geocoding (Google Maps API)

  • User enters their address
  • We geocode it to exact latitude/longitude
  • Radius search returns facilities within configurable distance (500m to 5km)

Tier 2: Municipality-level fallback (INSEE data)

  • If user only provides postal code, we identify their municipality
  • We return all facilities in that municipality + adjacent ones
  • Useful for users who don't want to share exact address

Technical Decisions

Database Choice

We use MongoDB with geospatial indexes because geospatial queries are fast, schema is flexible, and scaling by region is straightforward.

Caching Layer

Geocoding requests are expensive. We implemented Redis caching reducing API costs by 70%:

  • Cache user address → coordinates (24-hour TTL)
  • Cache municipality → nearby facilities (7-day TTL)
  • Cache facility details (30-day TTL)

Frontend Search Experience

We prioritize instant feedback:

  1. User types address → debounced geocoding
  2. Results update in real-time as they type
  3. Results show distance, capacity status, and next availability
  4. One-click comparison of multiple facilities

Challenges We Overcame

1. Data Quality Issues

Problem: ~15% of facilities had no valid coordinates or incomplete capacity data.

Solution: Manual geocoding for facilities with address-only data, contacted regions for missing capacity info, built a public contribution form.

2. Regional Variations

Problem: Each region (CAF) has different accreditation processes, funding formulas, and waiting list systems.

Solution: Created region-specific help pages, partnered with CAF offices, established community moderators in each region.

3. Maintenance Burden

Problem: Government data changes quarterly; we can't manually update 8,000+ facilities.

Solution: Automated data fetch from official APIs, diff detection to flag changes, email alerts to affected users.

Results

  • 8,200+ facilities indexed across France
  • Avg search time: 150ms (including geocoding)
  • User feedback: 92% found their search results relevant

What We Learned

  1. Government data is a goldmine, but cleaning it is 60% of the work
  2. Geocoding accuracy matters — even 50m errors frustrate users
  3. Community contributions beat perfectionism — let users flag errors rather than trying to get 100% accuracy upfront

If you're building location-based services in Europe, France's open data ecosystem is better organized than most. Start there.

Want to try it? Visit trouver-creche.fr to search nurseries in your area.


Have you built location-based services with government data? Share your approach in the comments.

Top comments (0)