Back / Ctrl+Space

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.

Podcast generating steps diagram
High-level steps: fetch user + credentials → generate debate → optional summary → audio → PDF → save → notify.
Inngest run timeline for podcast generation
Inngest timeline: observable execution + retries (3 attempts) when a function fails.

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.

CV reviewer screenshots
CV Reviewer: match scoring, strengths, missing skills, and improvement recommendations. CV Reviewer Design
Job application tailor screenshots
Job Application Tailor: rewrite + reorder content for the target role (no fabricated experience). Application Tailor Design

The 3 main services

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

CV reviewer screenshots
CV Reviewer: match scoring, strengths, missing skills, and improvement recommendations.
Job application tailor screenshots
Job Application Tailor: rewrite + reorder content for the target role (no fabricated experience).

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-review.free.json

CV Reviewer: Pro response

Deep assessment with weaknesses, recommendations, and experience matching.

cv-review.pro.json

Job Tailor: Free response

Limited tailoring to demonstrate results while keeping premium depth locked.

job-tailor.free.json

Job Tailor: Pro response

Complete tailoring with ATS breakdown, change tracking, and optional cover letter.

job-tailor.pro.json

Source, demo, and stack

If you want to explore the codebase or try the app, here are the direct links.

Tools used

TypeScriptNext.jsSentryNeonPostgreSQLPrismatRPCOpenAIVercel AI SDKBetter AuthPolarInngestUploadThingWebhookFramer MotionNgrokCoderabbitAI