DIALOGUE: Membangun Generator Podcast Bertenaga AI dari Nol (Dan Belajar Banyak Hal Sepanjang Jalan)
Saya membangun generator podcast AI yang memungkinkan kamu membentuk konten sebelum dibuat — karena saya lelah AI hanya membacakan Wikipedia selama perjalanan saya.
Percikan Awal: Mengapa Membangun Generator Podcast?
Nah, begini ceritanya — saya suka podcast. Sebagai seseorang yang menghabiskan terlalu banyak waktu di lalu lintas (halo, sesama penglaju!), saya selalu bertanya-tanya: bagaimana kalau saya bisa menghasilkan podcast tentang topik apa pun yang saya penasarkan? Bukan sekadar suara AI yang membosankan membacakan Wikipedia, tapi percakapan menarik yang sebenarnya antara host AI.
Lagipula, jujur saja, setelah membangun beberapa proyek kecil dan menulis tentang perjalanan coding saya, saya ingin menangani sesuatu yang lebih besar. Sesuatu yang mendorong saya untuk belajar teknologi baru dan mungkin, mungkin saja, membuat sesuatu yang berguna bagi orang lain. :P
Apa Itu DIALOGUE?
DIALOGUE adalah aplikasi tahap awal (fase alpha) yang menghasilkan podcast profesional menggunakan AI. Kamu memberikan topik — apa saja dari "Keputusan Fed dan dampak pasar di 2025" hingga "Memahami quantum computing untuk pemula" — dan ia membuat podcast lengkap berdurasi 20+ menit dengan beberapa suara AI yang bercakap-cakap.
Inilah yang membuatnya berbeda dari sekadar meminta ChatGPT membacakan artikel:
- Review outline interaktif: Ini yang jadi game-changer — sebelum riset atau penulisan apa pun terjadi, kamu bisa me-review outline yang diusulkan dan membentuknya persis sesuai keinginanmu
- Konten berbasis riset: Menggunakan mesin pencari untuk meneliti fakta dan informasi terkini
- Dialog natural: Claude Sonnet 4 menulis script percakapan
- Beragam suara: Suara neural berkualitas tinggi dengan kepribadian host yang berbeda
Seluruh proses memakan waktu sekitar 10 menit dari topik hingga file audio jadi. Tidak buruk untuk sesuatu yang memakan waktu berjam-jam atau berhari-hari bagi manusia!
Tech Stack: Petualangan Serverless (yang Berevolusi)
Baiklah, mari masuk ke detail teknis (bagian favorit saya!). Inilah yang menggerakkan DIALOGUE:
Frontend
- Next.js 15 + React 19: Karena saya ingin menggunakan yang terbaru
- TypeScript: Setelah terlalu sering kena runtime error
- Tailwind CSS: Membuat styling jauh lebih mudah untuk seseorang yang bukan design wizard
- Supabase JS Client: Untuk auth dan real-time update (ini game-changer)
Backend (Saat Ini - GCP)
- Cloud Run: 10+ microservice Python dalam container dengan scaling otomatis
- Cloud Workflows: Mengorkestrai workflow pre-feedback (outline) dan post-feedback (generation)
- Cloud Storage: Penyimpanan file audio dengan CDN delivery
- API Gateway: Titik masuk tunggal dengan CORS dan autentikasi
- Supabase: Database PostgreSQL dengan Row Level Security dan Edge Functions
*Catatan: Awalnya dibangun di AWS Lambda/Step Functions, tapi dimigrasi ke GCP pada Juli 2025 untuk performa lebih baik dan pengurangan biaya 92% dalam generasi audio.*
Layanan AI
- Claude 4.0 Sonnet: Generasi script dengan temperature 0 untuk reliabilitas JSON (API Anthropic langsung)
- Perplexity AI: Riset dan fact-checking untuk setiap segmen
- OpenAI TTS: Suara neural berkualitas tinggi untuk percakapan natural
- Content Moderation: Pemeriksaan keamanan bawaan Anthropic
Fitur Utama dan Perjalanan Pengguna
Begini cara kerjanya dari perspektif pengguna:
1. Masukkan topik: Input teks sederhana, tidak perlu yang rumit
2. AI menghasilkan outline: Memakan waktu sekitar 1 menit — kamu akan melihat struktur dan segmen yang diusulkan
3. Review dan bentuk podcast kamu: Di sinilah DIALOGUE benar-benar bersinar! Kamu bisa:
- Mengalihkan fokus ("Buat lebih ramah pemula")
- Menambahkan konteks yang hilang ("Sertakan perkembangan terbaru 2025")
- Menghapus atau memodifikasi segmen ("Lewati jargon teknis di segmen 3")
- Mengubah arah sepenuhnya jika AI salah memahami tujuanmu
4. Generate podcast lengkap: Setelah kamu menyetujui outline, generasi memakan waktu ~6-10 menit
5. Download dan nikmati: File MP3 siap untuk perjalananmu
Di balik layar, ia melakukan banyak hal lagi:
- Memecah topik menjadi segmen
- Menunggu persetujuanmu sebelum operasi intensif sumber daya (tidak ada kredit terbuang untuk konten yang tidak diinginkan!)
- Meneliti setiap segmen dengan query spesifik
- Menulis dialog natural antara dua host AI
- Menangani error dengan graceful (dan mengembalikan kredit jika ada yang salah)
- Update progres real-time sehingga kamu tahu apa yang sedang terjadi
Yang Baik, Yang Menantang, dan Momen "Oh Tidak"
Yang Baik
- Fitur review outline: Pengguna suka bisa membentuk podcast mereka sebelum generasi dimulai. Seperti bercakap-cakap dengan produser AI kamu!
- Peningkatan performa 10x dengan beralih ke query Supabase langsung (450ms menjadi 45ms)
- Signup pengguna instan: Memperbaiki bug delay 3 menit dengan Edge Function atomik (sekarang < 500ms)
- Pengembalian kredit otomatis saat generasi gagal melalui database trigger
- Update real-time yang benar-benar berfungsi (terima kasih, Supabase!)
- Pengurangan biaya 92% dalam generasi audio setelah migrasi GCP
- Arsitektur database-first yang bersih setelah menghapus kode legacy Lambda
Yang Menantang (Sekarang Sudah Selesai!)
- Neraka layer AWS Lambda: Error import, batas ukuran 250MB (diselesaikan dengan migrasi GCP)
- Migrasi keamanan JWT: Upgrade dari HS256 ke P-256 sambil mempertahankan backward compatibility
- Pengaturan temperature AI: Claude di 0.7 menghasilkan JSON invalid 30% waktu (diperbaiki dengan temperature 0)
- Memory leak WebSocket: Komponen React bocor 50MB/jam (diperbaiki dengan RealtimeManager)
- Race condition database: Pengguna baru menunggu 3 menit karena replication lag (diperbaiki dengan operasi atomik)
- Kompleksitas sistem kredit: Disederhanakan dari dual credit ke tipe tunggal
Momen "Oh Tidak"
- Saat saya tidak sengaja menyimpan data workflow kritis di tempat yang salah
- Saat saya menyadari error browser misterius berasal dari kode saya sendiri yang menghabiskan sumber daya
- Menemukan kerentanan keamanan selama audit rutin (semua sudah diperbaiki!)
Apa yang Saya Pelajari (Spoiler: Banyak Sekali)
Proyek ini mendorong saya jauh di luar zona nyaman, dan saya belajar banyak:
1. Kontrol pengguna itu krusial: Fitur review outline tidak ada di desain awal saya, tapi menjadi fitur paling penting. Membiarkan pengguna membentuk konten sebelum generasi dimulai menghemat waktu, kredit, dan frustrasi
2. Mulai sederhana, migrasi saat dibutuhkan: Kami memulai dengan AWS Lambda tapi mentok dinding kompleksitas — migrasi ke Cloud Run menyelesaikan semuanya
3. Query database langsung bisa lebih cepat: Peningkatan performa 10x saya datang dari membuang layer API yang tidak perlu
4. Biaya AI bertambah: Menjalankan beberapa layanan AI untuk satu podcast membutuhkan manajemen biaya yang cermat
5. Pengalaman pengguna penting: Menambahkan indikator progres dan estimasi waktu membuat perbedaan besar
6. Keamanan tidak pernah "selesai": Audit rutin mengungkap masalah yang tidak pernah saya pikirkan
7. Infrastructure as Code punya gotcha: Keunikan SAM mengajarkan saya banyak (seperti SSMParameterReadPolicy menambahkan slash ekstra!)
8. Migrasi cloud bisa sangat cepat: Dengan AI pair programming, kami bermigrasi dari AWS ke GCP dalam satu hari saja!
Status Saat Ini dan Apa Selanjutnya
DIALOGUE sekarang live! Dalam fase alpha dengan 2 kredit gratis untuk pengguna baru.
Soal harga — saya harus akui, saya menghabiskan terlalu lama memikirkan ini. Setiap podcast memakan biaya nyata untuk dihasilkan (panggilan API Claude untuk script, Perplexity untuk riset, OpenAI untuk sintesis suara — semuanya bertambah cepat). Saya mendarat pada paket kredit yang kira-kira menutupi biaya saya dengan margin kecil: Starter seharga $4,99 untuk 4 podcast, Pro seharga $9,99 untuk 9, dan Bulk seharga $19,99 untuk 18. Saya mungkin menyesuaikan ini saat saya belajar lebih banyak tentang pola penggunaan aktual, tapi untuk saat ini terasa fair bagi saya. Dan jika generasi gagal karena alasan teknis, kredit dikembalikan secara otomatis — saya tidak akan menagih kamu untuk bug saya :P
Mau Coba?
Saya ingin kamu mencobanya! Kunjungi podcast.chandlernguyen.com dan buat podcast AI pertamamu. 2 yang pertama gratis, jadi tidak ada yang perlu kamu rugi.
Peringatan: ini masih dalam alpha, jadi mungkin ada yang rusak. Tapi hey, itu bagian dari keseruannya kan? Kalau kamu menemui masalah, ada fitur feedback yang dibangun langsung di app (hanya untuk pengguna yang login — harus menambahkan itu setelah beberapa masalah spam).
Pemikiran Akhir
Membangun DIALOGUE telah menjadi salah satu proyek paling menantang dan memuaskan yang pernah saya kerjakan. Ini menggabungkan semua yang saya pelajari — dari fungsi AWS Lambda hingga komponen React hingga AI prompt engineering — dan bahkan mengarah pada perjalanan migrasi cloud yang tidak terduga.
Penemuan paling mengejutkan? Langkah review outline yang saya sebutkan tadi. Awalnya, saya pikir pengguna hanya ingin memasukkan topik dan mendapatkan podcast. Tapi dalam pengujian, saya menyadari bahwa memberi pengguna kontrol atas arah sebelum proses generasi utama dimulai membuat semua perbedaan. Ini mengubah tool dari kotak hitam menjadi asisten AI kolaboratif. Insight yang sama — arahan kreatif manusia di atas eksekusi AI — menjadi pelajaran sentral ketika saya kemudian membangun aplikasi iOS native DIALOGUE tanpa menguasai Swift.
Apakah sempurna? Tidak. Apakah berguna? Saya rasa ya! Setidaknya, ini telah menjadi perjalanan belajar yang luar biasa, dan saya bersemangat melihat ke mana arahnya dari sini.
Apa topik yang akan kamu buatkan podcast? Saya benar-benar penasaran — kirim pesan atau coba sendiri. Siapa tahu, dengan kemampuan membentuk dan mengarahkan konten, podcast yang dihasilkan AI mungkin adalah persis yang kamu cari. :P
Salam,
Chandler
Ingin deep-dive teknisnya? Ikuti perjalanan lengkapnya:
- Pelajaran engineering dari membangun DIALOGUE: Perjalanan saya dari periklanan ke engineering, dan mengapa kompleksitas adalah musuh
- Satu Perubahan Parameter AI Menghabiskan Saya $54/Bulan: Bagaimana satu pengaturan temperature selama migrasi AWS ke GCP menyebabkan inefisiensi besar





