Build Journal
Web2 Hashtag Metrics & Super-Map Enhancements — July 23, 2026
Today, I launched Web2 hashtag metrics and enhanced the Super Map with a new approval model, all while tackling bugs and optimizing performance.
What shipped
- Web2 Hashtag Metrics — Launched a comprehensive hashtag metrics system for Mastodon and Bluesky.
- Super Map Approval Model — Introduced a streamlined approval model for publishing content.
- Performance Audit Implementation — Completed a detailed performance audit to enhance site efficiency.
- Service Feed Optimization — Resolved junk row issues in the services feed for cleaner outputs.
- Checkout Process Fixes — Fixed customer email prefill issues to improve user experience.
Today was a marathon 22-hour coding session, and I’m proud to say I shipped significant enhancements to the hashtag metrics and the Super Map features. My goal was to create a robust Web2 hashtag metrics system and improve the Super Map's functionality, allowing users to better manage their online presence and performance metrics. I rolled out 21 commits, including 18 features and improvements, and tackled three critical fixes along the way.
The first major feature I delivered was the Web2 hashtag metrics machine. This involved creating two new routes: /hashtags and /hashtags/[tag]. With this update, users can now measure Mastodon’s per-tag usage over the last seven days, along with related tags that come with real histories. This isn't just about trending tags; it’s about giving users a deeper understanding of their hashtag performance on a platform that is becoming increasingly important in the social media landscape. I also integrated a live pulse for Bluesky, providing real-time data that enhances user engagement and decision-making.
Another significant enhancement was made to the Super Map, where I introduced a new approval model for publishing. This change allows queued items to be approved for browser publishing directly, streamlining the process of content management. I made sure that uploads are born approved, and the API now excludes browser-optimizer accounts from hourly cron jobs, which should help reduce unnecessary load on the system. I also implemented a recent-activity verify feed that shows the exact copy of each published or failed Google My Business (GMB) action, ensuring that owners can verify their actions against Google accurately. This transparency is crucial for users who rely on these metrics to gauge their online performance.
I faced a few bugs during this process, particularly with the services feed emitting only primary pages. After some digging, I found that a few junk rows were cluttering the output, which I resolved by implementing filters to deduplicate page IDs and adjacent duplicate word collapses in titles. This fix not only cleaned up the service feeds significantly but also improved the overall usability of the site. Additionally, I had to address a few issues with the checkout process where customer emails were being prefilled incorrectly. This was particularly frustrating, as it affected user experience, but I managed to implement a fix that ensures the payer binds their own Stripe identity correctly.
Throughout these enhancements, I was reminded of the power of building solo. Working with Claude Code in VS Code allowed me to leverage AI to co-author many of these features without the overhead of additional team members. It’s a constant balancing act, but I’m committed to building a one-man-show company that can reach a billion-dollar valuation. Every feature I ship is a step toward that goal, and I’m learning to navigate the complexities of this ambitious journey.
I also spent a good amount of time optimizing performance across the board. I rolled out a comprehensive performance audit that included a detailed playbook covering edge-cache, first-time byte (TTFB), hydration, and several key performance indicators. The goal here was to ensure that every part of the site is not just functional but also efficient. I dropped a sitewide Set-Cookie that was causing cache-poisoning issues across around 55 static pages. This fix alone should significantly enhance loading speeds and user experiences.
Reflecting on the day, I’m proud of the progress made but also acutely aware of the challenges that come with this level of ambition. There were moments of frustration, particularly when dealing with bugs that ate into my time, but each challenge has taught me something valuable about the architecture of my platform and how to better serve my users. As I continue to build and iterate on these features, I’m excited to see how they impact user engagement and overall satisfaction with the platform. The road ahead is long, but each commit brings me closer to my vision for the agentic web.