- Client
- PodHub / Healthy Mind by Avik (my own network)
- My role
- Founder, product owner and lead builder
- Users
- Admin and employee roles; hosts are employees
- Status
- Live at podops.podhub.digital
The problem
What was getting in the way.
21 shows run by hand
Bookings, scripts, host assignment, recording logs, posts and articles lived in calendars, chats and spreadsheets. Every show added more manual work.
Many tools, no single view
Zoho Bookings, Calendly, podcast hosts, social tools and email each held a piece of the truth, so nobody could see the whole network at once.
Slow, repeated writing
Every interview needed a script, a host, show notes, graphics, an article and social posts, all written from scratch.
Risky automation
Publishing, payouts and AI output affect real guests and money. Automation had to be safe, reversible and approved by a person.
Growth without headcount
To keep adding shows and episodes without adding admin staff, the repetitive work had to run itself.
How it solves it
Better days for people, better data for owners.
Hosts and team
- Scripts drafted and ready to review before each interview
- Clear assignments and a call sheet for today
- A simple show tracker to log outcomes
- Leave, onboarding and appreciation in one place
Founder and admin
- One dashboard for shows, scripts, leaves and outcomes
- Approve once: scripts, posts, payouts and publishing
- Live numbers for the website, sponsors and partners
- Kill switches on every automated stage
Thought process
Six principles I worked by.
One system of record
Shows, episodes, hosts, prices and sponsors are edited once in PodOps. The website, listen app and Watch only display them.
AI drafts, people approve
Claude drafts scripts from upcoming bookings. A person reviews, edits and approves before anything is used.
Integrate, do not replace
Zoho Bookings, Calendly, Buzzsprout, Captivate, Postiz, Make, Resend and the payment gateways stay. PodOps connects them.
Safe by default
New automation ships switched off, with daily caps and a pause-everything button, until a pilot proves it.
Be honest about state
If an editing app is missing or a stage is blocked, the screen says so. Nothing is quietly swapped for something else.
Narrow public edge
The public site reads a small, rate-limited API. No admin route is ever reachable from the website.
What I did
10 workstreams, one outcome.

A command centre for the network
ProblemNo one could see the state of the whole operation at a glance.
- Built the home dashboard: active team, shows today (done and scheduled), scripts pending, leave requests and a 30-day shows chart.
- Added today's completion gauge, outcomes, top performers and a live 'now and up next' feed.
- React
- FastAPI aggregate endpoints
- MongoDB Atlas
- Charts
ValueA daily morning view that replaces status chats and spreadsheets.

The network of shows
ProblemEach show's roster, category and booking trend lived in different places.
- Created the shows area: a card per show with category, host roster and a 30-day bookings sparkline.
- Made it the source for the website's show pages and the listen app.
- Shows data model
- Host rosters and closed days
- Sparkline trends
- Public API
ValueAdd or change a show once and every public surface follows.

Every booking in one calendar
ProblemInterviews arrived from several calendars, so hosts missed or double-booked sessions.
- Merged live feeds from Zoho Bookings and Calendly, plus Premium Guests, into one 14-day view with today's call sheet.
- Wired each booking to script drafting and host assignment inside the roster rules and closed days.
- Zoho Bookings API
- Calendly API
- Premium Guests module
- Scheduler
ValueNobody asks 'who is recording today?' because the answer is on one screen.

Recording log and accountability
ProblemThere was no reliable record of which shows were recorded, by whom, and how they ended.
- Built a quick log: date, employee, show, outcome and notes, with outcomes such as done and guest no-show.
- Used the log for the dashboard's outcomes, top performers and host recognition.
- Tracker collection
- Outcome statuses
- Leaderboard feed
ValueA fair, searchable history that also feeds performance and appreciation.

The public library, run from one screen
ProblemEpisodes, covers, hosts, sponsors and analytics were scattered across hosting platforms.
- Built PodOps' own copy of every show and episode: 21 shows, 8,086 episodes, with sync, publish and a view-site button.
- Added episode images (every episode has one), listening analytics pulled from Buzzsprout and Captivate with keys encrypted at rest, and tabs for hosts, testimonials, sponsors, press and media kit.
- Feed sync
- Buzzsprout and Captivate APIs
- Encrypted keys
- Public read API
ValueThe website, the listen app and the media kit read the same trusted numbers.

Social posts that mostly write themselves
ProblemPosting every episode across many networks was daily manual work.
- Built graphic posts, audiograms and reels from Drive, with a review queue. You approve; Make publishes.
- Connected publishing targets through Postiz: Instagram, Facebook, LinkedIn, X, Threads, YouTube, Pinterest and Google Business.
- Postiz
- Make
- Audiogram renderer
- Review queue
ValueA steady cadence on every platform with a person still approving what goes live.

A blog pipeline with safety rails
ProblemTurning episodes into SEO articles by hand was slow and inconsistent.
- Designed the pipeline: draft, choose images, Framer preview, proof branch, publish live, capped at one article a day.
- Added per-stage switches, daily limits and a 'pause everything' button. Each stage stays off until the pilot is approved.
- AI drafting
- Image selection
- Framer service
- Proof branch
- Kill switch
ValueFresh articles for search and answer engines without risking the live site.

Honest production engines
ProblemAutomatic editing depends on tools installed on a particular machine.
- Built a capability probe: the worker reports which engines it can actually run (DaVinci Resolve, Premiere, ffmpeg, cloud editing).
- Every state is shown plainly: available, missing app or blocked. A blocked engine is never silently swapped for another.
- Mac worker
- ffmpeg
- DaVinci Resolve scripting
- Cloud editing service
ValueTrustworthy automation: you always know what will really run.

Podhub Watch control room
ProblemVideo conversations in Drive needed a safe path to a public video library.
- Built the admin for Podhub Watch: reading the Drive VIDEOS folder, approving new pages and reviewing reported comments.
- Tabs for import, library, automation, insights and more; nothing here deletes anything.
- Google Drive API
- Mux
- Approval queue
- Email alerts
ValueA reviewed, reversible route from raw recording to public video page.
People, money and the platform core
ProblemRunning a team and revenue by hand does not scale, and the data is sensitive.
- Built people operations (employees, leaves, onboarding, training, policies, appreciation), finance (client payments, commissions, partner payouts with TDS and GST) and platform core (login, settings, logs, integrations, audit).
- Kept payroll and personal data out of any public surface. Payouts need one approval from the founder.
- Role-based access
- Encrypted payout details
- Razorpay and PayPal
- Audit log
- Resend email
ValueOperations that scale with the network while keeping sensitive data tight. These screens are private and not shown here.
Approach
From idea to adoption.
- 1
Book
Calendly, Zoho and Premium guests land in one calendar
- 2
Draft
AI drafts a script for each booking; a person approves
- 3
Record
Host assigned, call sheet ready, outcome logged
- 4
Publish
Library, journal and social, with caps and kill switches
- 5
Learn
Numbers return to the dashboard, site and media kit
Toolkit
How it is built
App
- React
- FastAPI (Python)
- Built-in scheduler, 32 jobs
- MongoDB Atlas
Delivery
- Render
- Cloudflare R2
- GitHub Actions CI
- Push to main deploys
Integrations
- Zoho Bookings
- Calendly
- Buzzsprout
- Captivate
- Postiz
- Make
- Resend
AI and media
- Claude (script drafts)
- Mux
- ffmpeg
- DaVinci Resolve
Money
- Razorpay
- PayPal
- GST invoices
- TDS handling
Impact
Scope and what I learned.
shows run from one system
episodes in the library
scheduled jobs in the backend
booking sources in one calendar
Counts are read from the live system on 1 Nov 2026. Private team, guest and finance data are not shown.
Guard-rails create trust
Caps, switches and approvals let me automate more, because mistakes stay small.
Show the real state
A tool that admits what is missing is more useful than one that pretends.
Automate around the human
AI drafts and schedulers do the heavy work; people keep the final yes.