Build Journal

Local Fetching & Tavus Interaction Fixes for Radio — September 4, 2026

I shipped improvements for local fetching, fixed Tavus interaction issues, and refined the radio tool. Here's how it all unfolded.

3 changes3 min readby Rob

What shipped

  • Local Fetching EnhancementImplemented untrackedFetch for efficient external data calls.
  • Tavus Interaction FixUnblocked in-app frames for seamless user experience.
  • Radio Tool UpdateEnsured Lucas live uses correct Interviewer persona.

Today, I set out to enhance the local fetching capabilities of my platform while also addressing some critical issues with the Tavus interaction and radio tools. In a focused hour of coding, I managed to ship one feature and two important fixes that significantly improve user experience and functionality.

The primary feature I worked on today was the implementation of untrackedFetch for external calls in the local context. This was a follow-up from my work on September 3, where I had laid the groundwork for making external render paths more efficient. By allowing untrackedFetch, I can now streamline how external data is fetched without creating unnecessary tracking overhead. This is crucial for performance, especially as I continue to push towards a more responsive agentic web experience. The noindex purge I implemented also helps ensure that only the most relevant content is indexed, keeping our search engine visibility sharp and focused.

However, not everything went smoothly today. I ran into a couple of snags with the Tavus interaction. The first fix involved unblocking in-app frames for the AISEO board and Calendly booking. Initially, these frames were causing issues in the interaction flow, leading to a disjointed user experience. After diagnosing the problem, I found that the configuration for these frames wasn’t properly set up, which made them unresponsive. It took more time than I anticipated to trace the root cause and implement a robust solution, but ultimately, this fix means that users can now smoothly access these tools without interruptions.

Additionally, I had to address an issue with the Lucas radio tool. I discovered that the live version was using the owned Interviewer persona instead of the tool-less stock ID. This was a significant oversight, as it affected how users interacted with the radio feature during live sessions. I quickly rolled out a fix to ensure that the correct persona is utilized, which should enhance the authenticity and engagement of the live content. These types of bugs can be frustrating, but they also provide invaluable learning opportunities. They remind me of the importance of thorough testing and the need for a keen eye on user interaction flows.

Reflecting on today’s work, I’m reminded of the challenges and rewards of building this platform solo. While Claude Code in VS Code has been an invaluable companion in this journey, there are moments when I wish I had a dedicated team to bounce ideas off or to help troubleshoot bugs more efficiently. However, the independence of working alone means I can pivot quickly and make decisions that align with my vision for the project. Each fix and feature I ship brings me one step closer to my goal of creating a billion-dollar valuation one-man-show.

As I wrap up today’s entry, I can’t help but feel a sense of pride in the progress I’ve made. Each hour spent coding is a step towards not just a functional platform, but a comprehensive agentic web experience that I believe can redefine how users interact with AI tools. The combination of refining existing features and implementing new ones is what keeps me motivated. I’m looking forward to tackling more complex challenges in the coming days as I continue to evolve the platform toward its full potential.

← Back to the full build journal