Skip to content
··7 min basahin

DIALØGUE: Pagbuo ng AI-Powered Podcast Generator Mula sa Simula (At Maraming Natutunan sa Proseso)

Gumawa ako ng AI podcast generator na nagbibigay-daan sa iyong hubugin ang content bago ito gawin—dahil pagod na akong pakinggan ang AI na nagbabasa lang ng Wikipedia sa akin habang nagko-commute.

Ang Simula: Bakit Gumawa ng Podcast Generator?

Eto kasi yung bagay — mahilig ako sa podcasts. Bilang isang taong nagugugol ng sobrang daming oras sa trapik (kumusta, mga kapwa commuters!), lagi kong iniisip: paano kaya kung makakapag-generate ako ng podcast sa kahit anong topic na kinocurious ko? Hindi lang isang boring na AI voice na nagbabasa ng Wikipedia, kundi isang tunay na engaging na usapan sa pagitan ng mga AI hosts.

Tsaka, maging honest tayo, pagkatapos gumawa ng ilang mas maliliit na projects at sumulat tungkol sa coding journey ko, gusto kong sumubok ng mas malaking bagay. Isang bagay na magtutulak sa akin na matuto ng bagong technologies at siguro, baka sakali, makagawa ng isang bagay na kapaki-pakinabang sa iba. :P

Ano ang DIALØGUE?

Ang DIALØGUE ay isang early-stage application (alpha phase) na gumagawa ng mga professional podcasts gamit ang AI. Magbibigay ka ng topic — kahit ano mula sa "Fed decisions at market impact sa 2025" hanggang "Understanding quantum computing for beginners" — at gagawa ito ng kumpletong 20+ minutong podcast na may maraming AI voices na may totoong usapan.

Eto ang pagkakaiba nito sa simpleng pagbasa ng ChatGPT ng isang article sa iyo:

  • Interactive outline review: Ito ang game-changer — bago mangyari ang kahit anong research o pagsulat, mare-review mo ang proposed outline at hubugin ito nang eksakto sa gusto mo
  • Research-based content: Gumagamit ng search engine para mag-research ng facts at kasalukuyang impormasyon
  • Natural dialogue: Si Claude Sonnet 4 ang sumusulat ng mga conversational scripts
  • Multiple voices: High-quality neural voices na may iba't ibang host personalities

Ang buong proseso ay tumatagal ng mga 10 minuto mula sa topic hanggang tapos na audio file. Hindi masama para sa isang bagay na aabutin ng mga tao ng ilang oras o araw para gawin!

Ang Tech Stack: Isang Serverless Adventure (Na Nag-evolve)

Sige, pag-usapan natin ang mga technical details (ang paborito kong parte!). Eto ang nagpapatakbo sa DIALØGUE:

Frontend

- Next.js 15 + React 19: Dahil gusto kong gamitin ang pinakabago

- TypeScript: Pagkatapos masunog ng runtime errors na sobrang daming beses na

- Tailwind CSS: Pinapagaan ang styling para sa isang tulad kong hindi design wizard

- Supabase JS Client: Para sa auth at real-time updates (ito ay game-changer)

Backend (Current - GCP)

- Cloud Run: 10+ containerized Python microservices na may automatic scaling

- Cloud Workflows: Ino-orchestrate ang pre-feedback (outline) at post-feedback (generation) workflows

- Cloud Storage: Audio file storage na may CDN delivery

- API Gateway: Single entry point na may CORS at authentication

- Supabase: PostgreSQL database na may Row Level Security at Edge Functions

*Note: Originally built sa AWS Lambda/Step Functions, pero lumipat sa GCP noong July 2025 para sa mas magandang performance at 92% cost reduction sa audio generation.*

AI Services

- Claude 4.0 Sonnet: Script generation na may temperature 0 para sa JSON reliability (direct Anthropic API)

- Perplexity AI: Research at fact-checking para sa bawat segment

- OpenAI TTS: High-quality neural voices para sa natural na usapan

- Content Moderation: Ang built-in safety checks ng Anthropic

Mga Pangunahing Feature at ang User Journey

Eto kung paano ito gumagana mula sa perspektiba ng user:

1. Mag-enter ng topic: Simpleng text input, walang kumplikado

2. Mag-ge-generate ang AI ng outline: Tumatagal ng mga 1 minuto — makikita mo ang proposed structure at mga segments

3. I-review at hubugin ang podcast mo: Dito talagang sumikat ang DIALØGUE! Maaari mong:

- I-redirect ang focus ("Gawing mas beginner-friendly")

- Magdagdag ng nawawalang context ("Isama ang mga kamakailang 2025 developments")

- Mag-alis o mag-modify ng mga segments ("I-skip ang technical jargon sa segment 3")

- Ganap na palitan ang direksyon kung hindi naintindihan ng AI ang gusto mo

4. I-generate ang buong podcast: Kapag na-approve mo ang outline, ang generation ay tumatagal ng ~6-10 minuto

5. I-download at i-enjoy: MP3 file na handa na para sa commute mo

Sa likod ng mga eksena, marami pa itong ginagawa:

- Hinahati ang topic sa mga segments

- Naghihintay ng iyong approval bago mag-resource-intensive operations (walang nasayang na credits sa hindi gustong content!)

- Nagre-research sa bawat segment na may specific queries

- Sumusulat ng natural na dialogue sa pagitan ng dalawang AI hosts

- Mahusay na nagha-handle ng errors (at nagre-refund ng credits kung may mali)

- Real-time progress updates para malaman mo kung ano ang nangyayari

Ang Maganda, Ang Mahirap, at Ang "Oh No" Moments

Ang Maganda

- Ang outline review feature: Gusto ng mga users na mahubog ang podcast nila bago magsimula ang generation. Parang may usapan ka sa AI producer mo!

- 10x performance improvement sa pag-switch sa direct Supabase queries (450ms → 45ms)

- Instant user signup: Na-fix ang 3-minutong delay bug gamit ang atomic Edge Functions (ngayon ay < 500ms)

- Automatic credit refunds kapag nabigo ang generation sa pamamagitan ng database triggers

- Real-time updates na talagang gumagana (salamat, Supabase!)

- 92% cost reduction sa audio generation pagkatapos ng GCP migration

- Malinis na database-first architecture pagkatapos alisin ang Lambda legacy code

Ang Mahirap (Nasolve Na!)

- AWS Lambda layer hell: Import errors, 250MB size limits (nasolve ng GCP migration)

- JWT security migration: Na-upgrade mula HS256 sa P-256 habang pinapanatili ang backward compatibility

- AI temperature settings: Si Claude sa 0.7 ay nagge-generate ng invalid JSON 30% ng oras (na-fix gamit ang temperature 0)

- WebSocket memory leaks: Ang mga React components ay nagle-leak ng 50MB/oras (na-fix gamit ang RealtimeManager)

- Database race conditions: Naghihintay ng 3 minuto ang mga bagong users dahil sa replication lag (na-fix gamit ang atomic operations)

- Credit system complexity: Na-simplify mula sa dual credits sa single type

Ang "Oh No" Moments

- Noong aksidenteng nag-store ako ng critical workflow data sa maling lugar

- Noong na-realize ko na ang mysterious browser errors ay galing sa sarili kong code na nag-e-exhaust ng resources

- Nang matuklasan ko ang mga security vulnerabilities sa isang routine audit (lahat na-fix na!)

Ano ang Natutunan Ko (Spoiler: Marami)

Itinulak ako ng project na ito nang malayo sa comfort zone ko, at marami akong natutunan:

1. Mahalaga ang user control: Ang outline review feature ay wala sa original design ko, pero naging pinaka-importanteng feature ito. Ang pagbibigay-daan sa mga users na hubugin ang content bago magsimula ang generation ay nakakatipid ng oras, credits, at frustration

2. Magsimula nang simple, lumipat kapag kailangan na: Nagsimula kami sa AWS Lambda pero na-encounter ang complexity walls — nasolve ng migration sa Cloud Run ang lahat

3. Mas mabilis ang direct database queries: Ang 10x performance improvement ko ay nagmula sa pag-aalis ng mga hindi kailangang API layers

4. Tumataas ang AI costs: Ang pagpapatakbo ng maraming AI services para sa isang podcast ay nangangailangan ng maingat na cost management

5. Mahalaga ang user experience: Ang pagdagdag ng progress indicators at time estimates ay gumawa ng malaking pagkakaiba

6. Hindi kailanman "tapos" ang security: Ang mga regular audits ay nagbunyag ng mga issues na hindi ko naiisip

7. May gotchas ang Infrastructure as Code: Maraming natutunan sa akin ang mga quirks ng SAM (tulad ng SSMParameterReadPolicy na nagdadagdag ng extra slashes!)

8. Maaaring sobrang bilis ang cloud migrations: Sa AI pair programming, lumipat kami mula AWS sa GCP sa isang araw lang!

Kasalukuyang Status at Susunod

Live na ang DIALØGUE! Nasa alpha phase na ito na may 2 libreng credits para sa mga bagong user.

Sa pricing naman — aaminin ko, sobrang tagal kong nag-isip tungkol dito. Bawat podcast ay nagkakahalaga sa akin ng totoong pera para i-generate (Claude API calls para sa script, Perplexity para sa research, OpenAI para sa voice synthesis — mabilis ang pagtaas). Nagkaroon ako ng credit packs na halos sumasakop sa gastos ko na may maliit na margin: Starter sa $4.99 para sa 4 podcasts, Pro sa $9.99 para sa 9, at Bulk sa $19.99 para sa 18. Maaari kong i-adjust ang mga ito habang natututo ako pa tungkol sa aktwal na usage patterns, pero sa ngayon ay mukhang patas para sa akin. At kung mabigo ang generation dahil sa technical reasons, awtomatikong nire-refund ang credits — hindi kita sisingilin para sa mga bugs ko :P

Gusto Mo Bang Subukan?

Gusto kong subukan mo! Puntahan ang podcast.chandlernguyen.com at gumawa ng unang AI podcast mo. Ang unang 2 ay libre, kaya wala kang mawawala.

Paalala lang: nasa alpha pa rin ito, kaya may maaaring masira. Pero hey, parte naman iyon ng saya, di ba? Kung makaranas ka ng mga problema, may feedback feature na nakabuilt sa loob ng app (para lang sa mga naka-log in — kinailangan kong idagdag iyon pagkatapos ng ilang spam issues).

Mga Huling Saloobin

Ang pagbuo ng DIALØGUE ay isa sa mga pinaka-challenging at rewarding na projects na ginawa ko. Pinagsama nito ang lahat ng natutuhan ko — mula sa AWS Lambda functions hanggang sa React components hanggang sa AI prompt engineering — at kahit humantong sa isang hindi inaasahang cloud migration journey.

Ang pinaka-surprising na natuklasan? Ang outline review step na nabanggit ko kanina. Sa simula, akala ko gusto lang ng mga users mag-input ng topic at kumuha ng podcast. Pero sa testing, narealize ko na ang pagbibigay sa mga users ng kontrol sa direksyon bago magsimula ang pangunahing generation process ang gumawa ng lahat ng pagkakaiba. Binago nito ang tool mula sa isang black box sa isang collaborative AI assistant. Ang parehong insight — human creative direction sa ibabaw ng AI execution — ang naging sentral na aral nang kalaunan ay ginawa ko ang native iOS app ng DIALØGUE nang hindi alam ang Swift.

Perpekto ba ito? Hindi. Kapaki-pakinabang ba? Sa tingin ko oo! Sa pinakamababa, naging isang napakagandang learning journey ito, at excited akong makita kung saan ito pupunta mula dito.

Ano ang gagawan mo ng podcast? Talagang curious ako — mag-message ka sa akin o subukan mo mismo. Sino ang nakakaalam, sa kakayahang hubugin at gabayan ang content, ang AI-generated podcast mo ay maaaring eksakto ang hinahanap mo. :P

Maraming salamat,

Chandler

Gusto mo ng technical deep-dive? Sundan ang buong journey:

Ipagpatuloy ang Pagbasa

Ang Journey Ko
Kumonekta
Wika
Mga Preference