Faro — flight deals detection engine
Web platform that automatically detects airfare errors across 6 countries (France, Spain, Italy, Germany, Belgium, Portugal), with localized editorial content, 24/7 monitoring and email alerts. Multi-country architecture, subdomain routing and per-language URL slugs.
01The context
We built this project using a process refined over 12 years of mobile app development. The key advantage is working directly with the developer. No agency layer. No miscommunication. Just clear, focused work. The result is an app built for real users, with strong performance and easy long-term maintenance.
Faro is a web platform that automatically detects airfare errors — those abnormally low prices, usually caused by an airline pricing mistake or a GDS glitch, and corrected in less than 24 hours. The goal of the project: make this information accessible before the airline patches the error, with no signup or newsletter required.
The engine continuously monitors roughly 2,400 air routes originating from 6 countries (France, Spain, Italy, Germany, Belgium, Portugal). Each country has its own subdomain, its own departure cities, its own translated URL slugs and localized editorial content. Five languages are supported from day one: French, Spanish, Italian, German, Portuguese.
The main challenge wasn't technical — it was editorial. With thousands of auto-generated pages, how do you avoid the "thin content" trap that Google's Helpful Content Updates penalize? The answer: 15 rotating variants per paragraph, direct-answer capsules tuned for generative AI, and 10 evergreen pillar pages for the top destinations.
02The product
In short: we mix solid technical skills with product thinking. First, we study your business needs and your users. Then we design a clear plan. We build step by step, with regular check-ins. The final app follows Apple's Human Interface Guidelines and Google's Material Design standards.
The most important factor is transparency. You get regular updates and access to test builds. You see every technical choice we make. We run automated tests, code reviews, and speed checks. This ensures a reliable product from day one.
The technical architecture runs on CodeIgniter 4 (PHP 8.2) and MySQL. Multi-country subdomain routing relies on an HTTP filter that detects the country from the Host header and injects the right configuration into the request context. URL slugs are translated per language ("vols-pas-chers" in French, "vuelos-baratos" in Spanish, "voli-economici" in Italian, etc.) to maximize local SEO relevance.
Data ingestion is handled by HTTP crons that consume the Travelpayouts API every hour, normalize incoming fares and compute a 30-day rolling median for each route. When a price drops below 75% of that median (deviation greater than 25%), it gets flagged as an error fare and published. A companion cron checks expiration periodically and automatically archives fares that are no longer available.
The SEO/GEO stack is fully server-driven: multilingual hreflang in language-region format (fr-FR vs fr-BE to disambiguate France and Belgium), Article + FAQPage + HowTo JSON-LD schemas, dynamic country-segmented sitemap, and 1200×630 Open Graph images generated on demand for each detected flight using PHP's GD library.
03The outcome
Every app we deliver is built for real use. We target loading times under 2 seconds and a crash-free rate above 99.5%. We also track user satisfaction through in-app feedback. According to Statista, nearly 60% of web traffic now comes from mobile. App quality is a key business advantage.
The most instructive moment of the project was the recovery after a sudden traffic collapse (from 35,000 monthly impressions down to 260 in 28 days, caused by a silent ingestion bug combined with an algorithmic penalty for overly generic content). The fix combined a technical correction (gzip decoding bug), a content overhaul (15 variants per paragraph, answer capsules, deindexing of mass archive pages) and an E-E-A-T reinforcement (public methodology page, author signatures, visible update timestamps).
Faro is intentionally transparent about its business model: no fare is sponsored, the display order is purely algorithmic, and the only revenue comes from affiliate commissions paid by Skyscanner and Kiwi when a user completes a booking. This transparency is explicit on the methodology page — essential for staying credible with both search engines and readers.
Got a similar project in mind?
15 minutes is enough to know if we can work together. No commitment, no sales pitch.
Book a call →