01 · Why build it at all
Two things I wanted to prove to myself, on my own money. First: that Next.js is a genuine full-stack tool, not just a frontend framework — that you can put serious computation behind it and skip the separate backend entirely. Second: that a real, daily content operation could run end to end with almost no human in the loop and almost no cost.
I needed a domain demanding enough to make both points. I picked the one I'd been studying anyway — Vedic astrology — and built Mastroify (mastroify.com). The astrology is incidental; what matters is that it forced real astronomy, real daily content, and real multi-platform distribution. A perfect stress test for 'can one person run a content business for a dollar a month?'
02 · Act I — the platform: Next.js all the way down
The platform computes its own astronomy in TypeScript — no Python service, no paid astrology API. Planetary positions use the Lahiri ayanamsa with IAU precession and nutation correction (the part most web astrology skips), landing well under one degree of error; even retrograde detection is hand-rolled by sampling a planet at T and T+24h because the off-the-shelf flag isn't reliable. Panchang — tithi, nakshatra, yoga, karana, Rahu Kaal — is derived the same way. Fifty-one API routes, one Next.js app, no separate backend. That's the full-stack proof.
On top of it runs an autoposting engine across eleven platforms. Each platform gets its own GPT persona — scholarly on Bluesky, professional on LinkedIn, complete on Telegram — OAuth signed by hand in Node's crypto (no library), per-platform free-tier budget tracking that resets at local midnight, and a three-tier fallback so a post never ships empty. A Vercel cron drives the whole thing, for roughly $0.82 of OpenAI a month.
03 · Act II — the studio: a daily video factory for ~$0
The harder half was video. Every day the pipeline scraped the day's reading with Playwright, had Claude write twelve unique scripts (one per sign, with a fixed beat structure and rotating CTAs), and voiced each one with Chatterbox TTS running locally on Apple Silicon — my own reference voice, in Hindi, no cloud TTS bill. It rendered element-themed cards (fire / earth / air / water) as HTML→PNG, composited them over free Pexels backgrounds with ffmpeg, and burned in sentiment-coloured Devanagari captions because Instagram Reels won't take an SRT.
Then it published itself: YouTube and Facebook via native scheduled-publish APIs, Instagram via resumable Reel uploads, all staggered across the day and ordered by the weekday's ruling planet. launchd ran it; dated DONE-flags and batch logs are the receipts. It produced 472+ videos over about seven weeks (April–May 2026) before I paused it.
The honest part: it was best-effort, up to twelve a day. Apple Silicon's GPU memory tapped out on the last few signs on heavy days, and Instagram's API threw transient processing errors early on (fixed in the v2 rewrite). I paused it because it had already proven the model — not because it broke.
04 · The engineering that makes it free
Almost everyone solves this with a stack of subscriptions: cloud TTS, a video-generation SaaS, a social scheduler, cloud GPUs. Each is a monthly bill and a vendor dependency. I replaced every one of them with something self-hosted or free — Chatterbox on my own hardware, Playwright and ffmpeg for render, free CC0 stock, native platform APIs, free-tier Supabase — and kept only a sub-dollar OpenAI spend.
It's the same instinct I bring to an employer's platform — treat every recurring cost as an engineering problem — except here it was my own money, which is the most honest test of whether someone actually means it.
05 · What it shows
In one solo system: full-stack depth (real astronomy behind Next.js), AI orchestration (Claude and a local TTS model running a daily factory), multi-platform automation (fourteen publishing endpoints across the two engines), and cost discipline taken to its logical end — a content business for the price of a coffee.
It's the clearest evidence I have of how I'd run an AI-augmented engineering team: point capable tools at a hard problem, wire them together with judgment and verification, and refuse to pay for what you can build. The domain was a hobby; the engineering is the résumé.