A highly performant web platform helping expat families in Spain search and compare schools and kindergartens (guarderías) based on language programs, tuition fees, methodology, transport accessibility, and parental reviews. Built with defense against AI programmatic content aggregators in mind.
Decoupled Monorepo architecture. Combines a public Next.js frontend, a low-latency read-only Go Catalog API, a Laravel 12 Console for back-office operations and authorization, and a Go Parser for background data enrichment. All components share a single PostgreSQL 16 database and Elasticsearch 8 indexes.
Services share database schema and Elasticsearch definitions without code dependency
Next.js proxies /api/v3/* searches to Go and /api/v2/* auth/leads to Laravel
13 Laravel domain events & 14 listeners handled asynchronously via Redis/Horizon
In-memory LRU cache combined with a Circuit Breaker fallback to PostgreSQL
Next.js 15.3 Server Components & Incremental Static Regeneration for optimal LCP
Custom Tailwind CSS v4 tokens system with micro-animations & dark-mode styling
Multithreaded background parser daemon written in Go that enriches school data through a 4-stage pipeline. Each stage is fully idempotent and safe for repeated execution.
Basic name and address details from initial imports. Excluded from catalog.
Enriched by Go parser, but not yet verified. Explicitly tagged with noindex.
Verified with min 4 of 6 key fields (verified prices, badge, photo, ratio/kitchen/patio, Schema, lead form).
Verified with premium media galleries, expanded content, and priority ranking in search results.