GIGIlistening…

Build Journal

Events Scanner Enhancements & Spatial AI Fixes — May 3, 2026

I enhanced the events scanner and addressed spatial AI issues, improving user experience and fixing bugs in my solo project. Learn about the challenges faced.

34 changes3 min readby Rob

What shipped

  • Enhanced Events ScannerImproved filtering and display of live events.
  • Spatial AI FixesResolved critical issues affecting event visibility.
  • Luma IntegrationAdded support for Luma categories in the events scanner.
  • Dynamic Event UpdatesImplemented a cron scraper for Web3/blockchain events.
  • User Feedback ImplementedChanged live event dot color to green based on user input.

Today, I set out to enhance the events scanner functionality while addressing critical spatial AI issues that had been causing disruptions. By the end of a long 13-hour day, I successfully shipped 34 commits, including 24 feature improvements and 10 fixes, which have significantly improved the user experience across the platform. The primary goal was to refine the events scanner, ensuring it accurately reflects live events without dropping legitimate data due to overly aggressive filters. I also aimed to enhance the spatial AI components, particularly in how the map displays events and integrates with Luma.

The most pressing issue was a scanner-leak filter that was mistakenly dropping crypto events from our Events bucket. By modifying the filter to only keep IDs returned by the spatial server, I was able to prevent legitimate cross-section matches from being discarded. This fix alone saved me several hours of troubleshooting and testing, as I had initially implemented a more complex solution that ended up not addressing the core issue. I learned the importance of simplicity in problem-solving and how a straightforward approach can often yield the best results.

In addition to fixing the scanner, I added several features to enhance the events experience. I replaced the red pulsing dot for live events with a green one, responding directly to user feedback. The events scanner now matches Luma's eight categories, allowing for better organization and filtering of events. This involved implementing a client-side topic classification that backfills existing rows based on scraped data, a task that required significant attention to detail to ensure accuracy.

While working on the spatial components, I raised the nearby limit ceiling to 2000, allowing for a broader global fetch for the Events scanner. This fix resolved a frustrating 422 error that was emptying our marker layer. I also fine-tuned the events filter to prevent non-event portals from leaking into the scanner, which required extensive testing to ensure that the right data was displayed. These changes have made the overall experience smoother and more intuitive for users.

One of the more intricate features I implemented today was the integration of a cron scraper that pulls upcoming Web3 and blockchain events from curated Luma calendars every three hours. This was a complex task that involved geocoding via Mapbox, but it’s a significant step toward enriching our events database with timely and relevant information. Additionally, I made sure that event portals are displayed on the map in 3D before they start and hidden after they end, creating a more dynamic and engaging user experience.

Despite the successes, the day was not without its challenges. I encountered several bugs related to the Luma scraper that required a complete rewrite of the code to ensure it fetched data correctly. The initial implementation crashed due to an ASCII User-Agent issue, which was a frustrating setback. However, I managed to overcome this by rebranding the URLs and implementing a Google Geocoding fallback when necessary. It was a reminder of the importance of thorough testing and the unpredictability of working with external APIs.

As I build this project solo, utilizing Claude Code in VS Code has been a game-changer in managing these complexities. It allows me to iterate quickly without the overhead of additional team members, which is crucial for maintaining momentum on my path to building a one-man-show company with a billion-dollar valuation. Each feature I shipped today contributes to that vision, and while there are still hurdles to overcome, I feel a sense of pride in the progress made.

In conclusion, today was a blend of triumphs and trials. The enhancements made to the events scanner and spatial AI components are significant steps forward, but they also serve as a reminder of the meticulous attention needed when developing a platform of this scale. I look forward to tackling more challenges tomorrow and continuing to refine the agentic web experience for our users.

Terms in this entryWeb3Blockchain

← Back to the full build journal