DevOps

How this site is built

A zero-cost personal site on Astro, Cloudflare Workers and GitHub Actions, with a weekly OTT roundup that publishes itself.

2 min read

  • Astro
  • Cloudflare Workers
  • GitHub Actions
  • Claude
  • TMDB API
  • Node.js

This site runs entirely on free tiers. The only thing I pay for is the domain.

The stack

Piece What it does
Astro Builds static HTML from Markdown. No server, nothing to patch.
Cloudflare DNS, CDN, SSL, and Workers static assets for hosting.
GitHub Actions Builds and deploys on every push, and runs the weekly OTT job.
Claude scheduled task Researches the week’s OTT releases and commits them as JSON.
TMDB API Posters and links for each title.

How a change goes live

  1. I write a Markdown file and push to main.
  2. GitHub Actions runs npm ci and npm run build.
  3. wrangler deploy uploads dist/ to Cloudflare Workers.
  4. The site is live on mrvitej.in within a minute or two.

The weekly OTT pipeline

My first version pulled the list straight from TMDB. It was fully automatic but not very good: TMDB only knows “digital release” dates, so it listed old Hollywood films and missed most Indian OTT premieres, dubbed versions and regional platforms like Aha or ETV Win.

The current pipeline:

  1. Thursday evening, a scheduled Claude task searches the week’s OTT release coverage (Sacnilk, FilmiBeat, IWMBuzz and others) across 28 platforms, cross-checks dates, and keeps titles available in Telugu, Tamil, Hindi, Malayalam or English.
  2. It writes the week as one JSON file (format in docs/ott-format.md), checks it with scripts/validate-ott.mjs, and pushes it to main.
  3. The push triggers two workflows: Deploy publishes the list right away, and OTT posters looks up each title on TMDB, adds posters and links, commits, and deploys again.

A bad file can’t break the site: the Deploy workflow validates every week file before building, and a failed build leaves the previous version live.

What I’d add with a budget

  • A small VPS for dynamic features, such as a searchable OTT archive.
  • A newsletter so readers hear about new stories.