Back to portfolio

Case study · SEO & engineering

How I built télé.guide

télé.guide is my online TV listings guide — no intrusive ads, no tracking cookies — with a dedicated section for the FIFA World Cup 2026: schedules, channels, and enriched match pages for search visibility.

The need

Finding when and on which channel to watch a football match or a film should be simple. Classic TV grids are often heavy, ad-cluttered, or incomplete for major sporting events. I wanted a fast, mobile-friendly site focused on content — with particular emphasis on World Cup 2026 over the summer.

Tech stack

  • Next.js (App Router) for server rendering, per-page metadata, and lean deployment.
  • XMLTV EPG grids: daily import of French terrestrial and sports channels, then local caching.
  • API-Football for official World Cup fixtures (Paris timezone, stages, teams).
  • OpenAI to generate contextual copy on match pages (sporting context, group stakes, TV schedule reminders).
  • TMDB to enrich non-sports programme pages.

FIFA 2026 section

The /fifa-2026 hub lists upcoming or live matches of the day, sorted chronologically. Each fixture has a dedicated page, for example Brazil – Morocco or United States – Paraguay.

The main challenge: matching EPG listings to real World Cup fixtures. Grid titles are not normalized (“World Cup”, abbreviated team names, broadcasts on multiple channels). I built a matching pipeline that:

  • filters false positives (club cups, cycling, non-football programmes);
  • cross-references title + air time with API fixtures;
  • displays channel logos with EPG fallbacks when local assets are missing.

Day pages, such as the 15 June 2026 grid, listing all matches on a given date with associated TV slots.

AI copy & updates

A bootstrap script generates missing copy for all pages; a daily job refreshes matches affected by new results or standings changes. Each text is stored in a timestamped JSON cache, avoiding unnecessary regeneration and keeping pages stable for Google.

SEO & indexable pages

The dynamic sitemap exposes the home page, World Cup hub, each day page, and every match page. Metadata (title, description, Open Graph) is computed per route. Internal links between hub, days, and matches form a coherent mesh around queries like “World Cup 2026 match TV channel” or “football on TV tonight”.

This portfolio page documents the project and links to télé.guide — useful for backlinks from a personal site with moderate authority but strong topical relevance (web development + TV media).

Useful links

Personal project — Laurent Remond, full-stack developer (Chamonix & Geneva).