Dev.to WebDev 🛠 Dev 👁 0 📖 2 min read

A Cron Job Publishes My Daily Story: The $0 Pipeline Behind a Bilingual Platform

Every morning at about the same time, a new episode appears on my platform. Nobody clicks a publish button. Nobody is even awake for it. A scheduled job wakes up, calls a database function, and the story goes live by its

Every morning at about the same time, a new episode appears on my platform. Nobody clicks a publish button. Nobody is even awake for it. A scheduled job wakes up, calls a database function, and the story goes live by itself.

The whole pipeline costs $0. Here is how it actually works.

The platform is a Next.js site on Cloudflare Pages, with Supabase underneath. Stories and episodes live in Postgres tables. The daily job is a cron trigger that runs a small script: it picks today's episode — one Urdu, one English, or one episode of the current serial — and calls a Postgres function I wrote called insert_daily_story (and its sibling for serial episodes). The function is strict on purpose: it validates the input, rejects duplicates, and only lets my own episodes publish straight to live. Anything a guest writer submits lands in a moderation queue instead, and nothing goes public until I approve it.

The same job also generates a cover image for the new post — one image per story, with the title written in the story's own script, Urdu or English. That part took the longest to get right. A cover is not decoration; it is the reason a reader stops scrolling.

There is no dashboard I babysit and no queue I manage by hand. The boring parts are automated so the human parts stay human: the writing, the editing, the choosing of what goes live next. Automation did not replace the work. It moved the work to the only place it matters — the story itself.

If you are building something small on a $0 budget, here is the lesson I keep re-learning: automate the repeatable, hand-craft the irreplaceable, and never automate the taste. A cron job can publish a story. It cannot decide which story deserves to be published. That part is still mine — and it is the only part that should be.

The homepage shows what the pipeline produces every day, and the serials page is where the daily episodes stack up into twelve-part stories.

— Aurora Writes

📰 Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.