Sky, for Peacock
Automated season and episode listings
Season and episode listings for every show used to be curated by hand in the CMS. I moved them over to GraphQL, so each page now pulls in its seasons and episodes automatically.
- Client
- Sky, for Peacock
- Role
- Senior Developer, CMS team tech lead
- When
- 2022 – 2025
- Stack
- GraphQL, TypeScript, React, CMS

The problem
Peacock has pages for its movies and TV shows, and the TV pages list every season and its episodes. Content editors were curating these listings by hand in the CMS. Every season and every episode had to be entered and kept up to date manually, which was slow, and easy to get out of date whenever new episodes were added.
What I did
I replaced the manual curation with GraphQL. Each page now asks for the title’s seasons and episodes, and the GraphQL layer pulls them through automatically. Editors no longer have to enter them.
The frontend turns that data into a season picker and a grid of episode cards. Each card shows the episode’s image, title, season and episode number, running time, rating and a short synopsis.
The result
Season and episode information now stays in step with the catalogue without anyone touching the CMS, and content editors can spend their time on the parts of the page that need a human.