GIGIlistening…

Build Journal

AI Call Improvements & Navbar Fixes for Hashtag.org — June 3, 2026

I shipped several critical fixes to the AI call features and navbar on hashtag.org, enhancing user experience and performance. Here’s how I did it.

11 changes3 min readby Rob

What shipped

  • Tavus Video FixAuto-recovery from duplicate iframe instances.
  • Navbar ImprovementsDropdown closes correctly after selection.
  • Owner Bypass for AI CallsOwners can now call their own portal's Tavus video.
  • Free Layers Self-HealAutomatic provisioning of Civic Pulse layers.
  • Video Fallback DiagnosticClear reasons for voice instead of video.

Today, I focused on some existing issues with AI calls and the navigation bar on hashtag.org. After 8 hours, I was able to get 11 different commits with 2 new features added, and 9 new fixes. These changes will be very helpful to users interacting with the Tavus video and those navigating through the portal.

One major fix I tackled was the error message “Duplicate DailyIframe instances are not allowed” that a lot of users were facing. This message required the owner to click ‘Connect’ 2 times before they could start the Tavus video, which I can assume was very frustrating. I implemented this with a silent recovery strategy to destroy the stale instance and retry creating the call object. This fix will improve the video call experience.

Further, I also resolved the issue with the Tavus iframe losing its mount on the left-meeting event. This caused the video to start and then refresh to the portal image which was very confusing for users. I found that the Daily fires were unintentional triggering the left-meeting event before the joining was completed which created a race condition. I solved this with an idle reset so that the iframe stayed mounted for users to click ‘Connect’ to try the same conversation instead of creating a new one. This change has improved usability while conserving Tavus credits which is very important to our users.

An additional significant change was implementing owner bypasses for aiCallTakeoverEnabled and operatorOnline gate checks on /ai-call/start. Before this change, these visitor-facing gates were blocking owners from being able to call their portal's Tavus videos, while the embed worked fine on hashtag.it.com. Now, owners can always talk to GIGI on their portal, regardless of the operator. This change supports the narrative that owners should be able to talk when they want.

Regarding the navbar, I made changes that I hope will help the customer journey. I made a change to ensure the search suggestions dropdown closes after a portal is selected, avoiding stale-fetch responses. I also made sure the dropdown closes on route changes, leading to a cleaner interface. These changes help us offer a better agentic web experience.

Along with these updates, I also released the lazy self-heal feature for free layers on portals. This means that any portal without free Civic Pulse layers will be automatically provisioned with them when its scan overlay loads for the first time. This saves us from having to set cron jobs or manual triggers so existing portals can easily access Wikipedia and other free data sources like #panthernexus.

I also adjusted how the messaging feature opens the users' inboxes. It now goes to the user's default portal which has been updated to #SPACE instead of the first item in the list. This change meets user expectations and enhances their workflow.

I also added a useful diagnostic feature to the owner video fallback in the ai-call. If the ‘Talk to GIGI’ feature answers via voice instead of the Tavus video, it explains why. It clarifies if a clone is not ready, if there are issues with the system persona, or if the clone just isn’t video-capable. This is important because it helps owners understand how to turn on video and improve their conversations.

I built a lot of great things today and I’m happy about it, especially since I’m building this basically all by myself using AI. It can be really difficult dealing with the front-end and back-end of all of these features, but I love the feeling I get when I can ship the changes I made in a single day. Each addition enhances my goal of building a single-person billion-dollar company. Today was proof that small adjustments can significantly improve the user experience on the agentic web.

Terms in this entryHashtagGEO PortalGIGI#SPACE

← Back to the full build journal