Building My Own Mortgage News Podcast: A Self-Learning Journey Through Failure, Iteration, and Persistence
- Feb 1
- 10 min read
The Problem Nobody Was Solving
I have a confession: I hate reading mortgage industry news. Not because it's unimportant—quite the opposite. As someone working in the mortgage space, staying current on rates, Fed policy, housing market trends, and regulatory changes is essential. But the format? Exhausting.
Every morning, I'd open my laptop to the same ritual: scan Mortgage News Daily, check Housing Wire, pull up the Federal Reserve's Treasury yield data, skim American Banker, read through Reuters mortgage coverage. Thirty to forty-five minutes before I even started my actual work. And I'd still miss things.
I'm an audio learner. I wanted a podcast—something I could listen to during my morning routine, my commute, my workout. Five to six minutes of concise, professional coverage of yesterday's mortgage industry news plus today's current rates. That's it.
The problem? That podcast didn't exist. At least not the way I wanted it. I tried existing mortgage podcasts. They were either too long, too general, not daily, or focused on consumer advice rather than industry intelligence. I tried general financial news podcasts, but mortgage-specific coverage was buried under stock market updates and crypto drama.
So I did what we preach at Ed'I'cation: I decided to learn something new and build it myself.
This is the story of that journey—the failures, the pivots, the moments of frustration, and the lessons about self-directed learning that emerged along the way

The Naive Beginning: "How Hard Could It Be?"
My initial plan was embarrassingly simple: use AI to summarize mortgage news and convert it to audio. I figured I could build this in a weekend.
Attempt 1: The "Just Use ChatGPT" Approach
My first attempt was to manually copy-paste news articles into ChatGPT, ask it to summarize them, and then use a text-to-speech tool. I tried this for three days.
What failed: Everything. The process took almost as long as just reading the articles. ChatGPT's summaries were generic and missed nuance. The text-to-speech output sounded robotic and lifeless. And most importantly, it wasn't automated—I still had to do manual work every morning.
Lesson 1: Automation isn't just about speed; it's about consistency and removing yourself from the process entirely.
If I had to manually trigger the system every day, I'd inevitably skip days, get lazy, or abandon it entirely. True automation means the system runs whether I remember it or not.
The First Real Attempt: Building with Manus AI
After the ChatGPT experiment failed, I started researching AI agent platforms. I needed something that could write code, integrate APIs, and deploy infrastructure without requiring me to become a software engineer.
I discovered Manus AI—an autonomous AI agent that can build web applications, integrate external services, and handle the entire development workflow. Perfect.
Attempt 2: The Perigon API + ElevenLabs Voice Cloning
My plan was straightforward:
Use Perigon API to fetch mortgage-related news articles.
Use an LLM to analyze and summarize the articles
Use ElevenLabs to generate high-quality, conversational audio
Email the briefing to myself every morning at 6 AM
I spent a weekend building this with Manus. The system worked! Sort of.
What succeeded: The automation was real. Every morning at 6 AM, I received an email with a generated briefing. The news coverage was comprehensive. The audio quality from ElevenLabs was impressive.
What failed: Three critical problems emerged within the first week.
Problem 1: The Perigon API was expensive. The free tier gave me 150 requests per month. My system made 8 API calls per briefing (one for each search query: "mortgage rates," "housing market," "Federal Reserve," etc.). That's 240 calls per month for daily briefings. I'd need to upgrade to the $250/month plan immediately.
Problem 2: The audio was monotone. ElevenLabs produced high-quality voices, but the script was just a straight narration of facts. It sounded like a robot reading a Wikipedia article. Boring. Lifeless. I found myself skipping through it.
Problem 3: The news was too broad. Perigon pulled articles from thousands of sources, but many weren't relevant to mortgage professionals. I'd get consumer advice articles mixed with industry news, international housing markets mixed with US policy updates.
Lesson 2: A working prototype reveals problems you can't anticipate in theory.
I could have spent weeks planning the "perfect" system, but I wouldn't have discovered these issues until I actually used it daily. Building fast and iterating based on real usage is more valuable than perfect planning.
The Conversational Pivot: Making It Sound Human. The monotone audio problem bothered me the most. I didn't want to listen to a robot. I wanted something engaging, conversational, almost like two industry analysts discussing the news over coffee.
Attempt 3: Two-Host Conversational Format with Emotional Tags
I discovered that ElevenLabs v3 had a "Text-to-Dialogue" API that supported emotional tags like [excited], [concerned], [laughs]. I could create a script with two hosts having a natural conversation about the news.
I rewrote the script generator to create dialogue:
Plain Text
HOST_1: [excited] Good morning! It's Thursday, January 30th, and wow, do we have some interesting mortgage news today. HOST_2: [laughs] You're not kidding. Let's start with rates—the 10-year Treasury yield is sitting at 4.24% this morning. HOST_1: [thoughtful] That's up slightly from yesterday. What's driving that? HOST_2: Well, check this out—the Fed signaled they're holding rates steady through Q1...
I was so excited about this. It felt innovative. I spent an entire day perfecting the conversational flow, adding natural transitions, inserting emotional reactions.
What succeeded: The script was genuinely engaging. It felt like listening to two people having a real conversation about the news.
What failed catastrophically: ElevenLabs has a 5,000 character limit per request. My conversational scripts were 7,000-8,000 characters. I tried chunking the audio and merging it, but the transitions between chunks sounded unnatural. And then I hit another wall: ElevenLabs credits.
The conversational format used significantly more credits than simple narration. My free tier credits ran out after three briefings. To continue, I'd need to upgrade to the Creator tier at $22/month, but my usage would exceed the included credits, pushing the cost to $38-40/month. And here's the kicker: When I switched to Google Cloud Text-to-Speech to save money (which has a generous free tier), I realized it doesn't support emotional tags or multi-voice dialogue. The system literally read the stage directions out loud: "bracket excited bracket Good morning bracket laughs bracket."
I had built an entire conversational system that only worked with an expensive API I couldn't afford.
Lesson 3: Constraints force creativity, but they also force pragmatism.
The conversational format was cool, but it wasn't sustainable. I had to choose: spend $40/month on voice generation, or simplify the format to work with free tools.
This is where self-learning gets real. It's not just about building something impressive—it's about building something that actually works within your constraints.

Attempt 4: Newsdata.io + Google Cloud TTS
I researched alternative news APIs and discovered Newsdata.io. Their free tier offers 200 requests per day—25x more than Perigon's monthly limit. The tradeoff? A 12-hour data delay instead of real-time.
But here's the insight: for a morning briefing about yesterday's news, a 12-hour delay doesn't matter. I'm not trading stocks based on breaking news. I'm getting a daily market summary. Yesterday's complete trading day is actually more valuable than this morning's incomplete picture.
For voice generation, I switched to Google Cloud Text-to-Speech (WaveNet voices). Their free tier includes 4 million characters per month. My usage? 156,000 characters per month. That's only 3.9% of the free limit.
New costs:
• Newsdata.io: $0/month (free tier)
• Google Cloud TTS: $0/month (free tier)
• Total: $0/month
Savings: $3,480 per year.
What succeeded: The system became financially sustainable. The audio quality from Google's WaveNet voices was surprisingly good—not as expressive as ElevenLabs, but professional and clear.
What failed: I had to abandon the conversational format entirely. Google TTS doesn't support dialogue or emotional tags. Back to single-narrator format.
Lesson 4: Sometimes the best solution isn't the most impressive one—it's the one you can actually maintain.
The conversational format was innovative, but it locked me into expensive tools. The single-narrator format was simpler, but it worked with free tools and was sustainable long-term.
The Script Problem: When AI Reads Stage Directions
When I first switched to Google Cloud TTS with my conversational script, something hilarious and frustrating happened: the AI read everything literally.
Attempt 5: Single-Narrator Professional Format
I had to completely rewrite the script generator. Instead of dialogue with emotional cues, I needed clean, professional narration optimized for text-to-speech.
The new prompt to the LLM was explicit:
"Create a professional, engaging single-narrator briefing script (800-1000 words) that sounds like a broadcast news anchor delivering a market briefing. Write ONLY the narration text that will be read aloud. DO NOT include any stage directions, emotional tags, or speaker labels. DO NOT use brackets like [excited], [concerned], [thoughtful]. Write in a professional, broadcast journalism style."
What succeeded: The output was clean, professional, and sounded natural when converted to audio. No more stage directions being read aloud.
What I learned: When working with AI, specificity matters. My first prompts were vague: "make it conversational" or "make it engaging." The AI interpreted that as adding dialogue and emotional tags. When I explicitly told it what NOT to do, the output improved dramatically.
Lesson 5: Constraints aren't limitations—they're design parameters.
I initially saw the switch to single-narrator format as a downgrade. But it forced me to focus on what actually mattered: clear, concise, professional delivery of information. The conversational format was a distraction from the core value proposition.
The Real-Time Data Challenge: Scraping vs APIs
One feature I insisted on from the beginning: current mortgage rates and Treasury yields. I didn't want yesterday's rates—I wanted this morning's numbers.
Problem: Most financial data APIs either cost money or have restrictive free tiers.
Solution: Web scraping: I built scrapers that pull data directly from public sources:
• Mortgage rates from Mortgage News Daily (publicly available on their homepage)
• 10-year Treasury yields from the Federal Reserve's FRED database (public CSV download)
What succeeded: Real-time data, zero cost, reliable sources.
What almost failed: Web scraping is fragile. If Mortgage News Daily changes their website layout, my scraper breaks. I had to build error handling and fallback logic.
Lesson 6: Free doesn't mean easy, but it means sustainable.
Web scraping requires more maintenance than using a paid API, but it eliminates ongoing costs. For a personal project, that tradeoff is worth it.
Over the course of this project, I made five major attempts, each with significant failures:
Manual ChatGPT approach → Abandoned (not automated)
Perigon + ElevenLabs → Pivoted (too expensive)
Conversational format → Pivoted (incompatible with free tools)
Stage directions being read → Fixed (rewrote script generator)
Final system → Success (free, automated, sustainable)
The question I kept asking myself: Am I being persistent or stubborn?
Here's the framework I developed:
Pivot when:
• The core constraint is external and unchangeable (cost, API limitations, technical impossibility)
• The current approach requires ongoing unsustainable effort or expense
• You've validated that the problem exists and isn't solvable within current constraints
Push through when:
• The problem is solvable with more learning or iteration
• The constraint is temporary or can be worked around creatively
• The core value proposition remains intact despite setbacks
For example:
• Pivoted from Perigon to Newsdata.io because the cost was unsustainable
• Pushed through the stage direction problem because it was solvable with better prompting
• Pivoted from conversational to single-narrator because it was incompatible with free tools
• Pushed through the web scraping challenges because they were solvable with error handling
Lesson 8: Persistence isn't about never giving up—it's about knowing which problems to solve and which constraints to accept.
The Final System: What Actually Works
After five iterations and countless failures, here's what I built:
Data Layer:
• Newsdata.io API (free tier, 12-hour delay) for industry news
• Web scraping for real-time mortgage rates (Mortgage News Daily)
• Web scraping for real-time Treasury yields (Federal Reserve FRED)
Intelligence Layer:
• LLM analyzes 60-70 articles daily
• Generates 800-1000 word professional script
• Broadcast journalism style, single narrator
• Phonetic replacements for better pronunciation (e.g., "Fed" → "the Fed")
Delivery Layer:
• Google Cloud Text-to-Speech (WaveNet voices, free tier)
• Voice rotation (7 different voices throughout the week for variety)
• Automated email delivery at 6:00 AM PST
• Audio file hosted on CDN, playable on any device
- Cost: $0/month
- Maintenance: ~30 minutes/month (monitoring, occasional fixes)
- Daily time saved: 30-40 minutes
- ROI: Priceless
The Meta-Lesson: Ed'I'cation in the AI Era
This project taught me something bigger than how to build an automated news briefing. It taught me about the nature of Ed'I'cation in 2026.
Traditional self-learning: Identify a skill gap → Take a course → Practice → Build competence → Apply to problem
AI-era self-learning: Identify a problem → Learn just enough to articulate it clearly → Use AI tools to fill skill gaps → Iterate based on real-world feedback → Build working solution
I didn't need to become a software engineer to build this. I didn't need to master web scraping, API integration, audio processing, or deployment infrastructure. I needed to:
Clearly define the problem (daily mortgage briefing, audio format, automated)
Understand constraints (cost, time, technical feasibility)
Learn enough to make decisions (which APIs, which voice tools, which architecture)
Use AI tools to execute (Manus AI handled the code, integration, deployment)
Iterate based on failures (pivot when necessary, push through when solvable)
The new skill is problem decomposition and tool orchestration.
Lessons for Ed'I'cation
If you're building something new, here's what I learned:
Start with the problem, not the solution: I didn't start by saying "I want to learn AI voice generation." I started with "I want a daily mortgage briefing in audio format." The solution emerged from the problem, not the other way around.
Build fast, fail fast, iterate faster: Every failed attempt taught me something I couldn't have learned from planning. The ChatGPT experiment took 3 days and taught me that automation requires zero manual intervention. The ElevenLabs experiment taught me to analyze costs early. The conversational format taught me that impressive features don't matter if they're unsustainable.
Constraints are design parameters, not limitations: The 12-hour news delay made the briefing better. The free-tier limits forced me to find sustainable solutions. The single-narrator format forced me to focus on clear, professional delivery.
Know when to pivot vs when to persist: Pivoting isn't giving up—it's adapting to reality. Persistence isn't stubbornness—it's solving solvable problems. The skill is knowing the difference.
"Good enough" that ships beats "perfect" that doesn't: The conversational format was cooler, but the single-narrator format actually works. The final system isn't the most impressive thing I could have built—it's the most sustainable thing I could build.
Self-learning isn't about mastering everything—it's about learning just enough to make progress: I don't fully understand how Google Cloud TTS works internally. I don't know the optimal LLM prompt engineering techniques. I don't know advanced web scraping strategies. But I know enough to build something that works.
What's Next?
The system is live. Every morning at 6:00 AM PST, I get a professional mortgage industry briefing delivered to my inbox. It works. It's free. It's sustainable.
But I'm already thinking about improvements:
• Add intro/outro music to make it feel more polished
• Create a web dashboard to browse past briefings and see trends over time
• Experiment with voice cloning to create a consistent branded voice
• Add topic filtering so I can customize which news categories I want to hear about
• Build a mobile app for easier playback and offline listening
The beauty of Ed'I'cation is that it never stops. Every solution creates new questions. Every working system reveals new possibilities.
The Invitation
This is what we're building at Ed'I'cation: a community of self-learners who go beyond the syllabus, who build solutions to their own problems, who learn by doing.
If you're working on something similar—or if you're stuck on a self-learning project and need to talk through it—reach out. Share your failures. Share your pivots. Share what you're building.
Because the real lesson isn't "here's how to build an automated news briefing." The real lesson is "here's how to approach any problem you want to solve."
Start with the problem. Build fast. Fail fast. Iterate faster. Know when to pivot. Know when to persist. Ship something that works.
And then do it again! That's Ed'I'cation


Comments