Next.js 15 • tRPC • Prisma • Better Auth • Inngest
CareerCastAI
A platform with 3 AI services: Podcast Generator, CV Reviewer, and Job Application Tailor. I built it to turn “prompt → real output” into a reliable pipeline: audio, PDFs, and a cover image — with safe retries when something fails.
The platform follows a SaaS model with Better Auth for secure access, Polar for payments, and premium features for Pro members.
🎙️ Podcast Generator
Debate-style script, TTS audio, cover image, and PDFs.
📄 CV Reviewer
Match scoring, strengths, gaps, and actionable recommendations.
🪄 Job Application Tailor
Tailors CV + cover letter without fabricating experience.
The story behind the Podcast Generator
I was trying to improve my English by watching YouTube channels that publish “podcast” style videos. After a while, I noticed a pattern: the voices sounded synthetic, the pacing felt generated, and the scripts + PDF resources looked AI-produced.
That turned into a challenge: can I build a system that generates a full podcast experience end-to-end— audio, a clean PDF, and a strong thumbnail like YouTube… and then make it more reliable and better structured?
What I optimized for
- Quality outputs: debate-style structure, readable PDFs, and a cover image that fits the topic.
- Reliability: background jobs with retries so partial failures don’t ruin the whole generation.
- Clear UX: simple form → trackable progress → deliverables you can download and share.
Podcast generation workflow
The generator runs as a pipeline. If something fails (LLM, TTS, upload, PDF), it’s retried up to 3 times using Inngest retry policies.


Two PDF modes (based on duration)
If the podcast is longer (5/10/20 minutes), the app generates a detailed PDF with the summary and supporting structure. If it’s a 1-minute podcast, it produces a simple script PDF only.
Why background jobs matter here
Podcast generation touches multiple external services (LLM, TTS, image generation, uploads). Running this work in a job queue keeps the UI fast and makes failures recoverable instead of frustrating.
Sample outputs (PDF)
Here are two real PDFs generated by the pipeline — one for longer audio (detailed), and one for the 1-minute mode (script-only).
Build log (3 YouTube videos)
I recorded my approach in a short series and keep improving the project over time.
UI Design from Stitch
The UI design for CareerCastAI was done in Stitch, and I implemented it pixel-perfect in code. Here are the original designs for the CV Reviewer and Job Application Tailor services.


The 3 main services
CareerCastAI isn’t just one feature — it’s a set of focused workflows that ship real deliverables.


CV Reviewer & Job Application Tailor
This part came from a real pain point: getting rejected many times. I wanted an ATS-style signal to answer one question quickly: am I a good candidate for this role? Then I expanded that idea into full job-application tailoring with deeper guidance, optional cover letter generation, and richer analysis for Pro users.
CV Reviewer: Free response
Focused, high-signal feedback to show value quickly.
CV Reviewer: Pro response
Deep assessment with weaknesses, recommendations, and experience matching.
Job Tailor: Free response
Limited tailoring to demonstrate results while keeping premium depth locked.
Job Tailor: Pro response
Complete tailoring with ATS breakdown, change tracking, and optional cover letter.
Source, demo, and stack
If you want to explore the codebase or try the app, here are the direct links.
Code source (GitHub)
Repository: careercast-ai
Open repository →
Live demo
Try the app on Vercel
Open demo →