Build Journal
Star Map Enhancements & Portal Improvements — May 22, 2026
I enhanced the star map and portal features, adding QR codes, new styles, and fixing bugs to improve the user experience on hashtag.org.
What shipped
- Scannable QR Codes — Every portal cover now includes a QR code linking to its public URL.
- Improved SPACE Levels — Levels are now staggered in a zig-zag timeline for better engagement.
- User Image Priority — Fixed portal display to show either user image or star map, never both.
- Personalized Star Maps — New live configurator for star maps with multiple styles and checkout.
- Routing Issues Resolved — Corrected routing for the /star-maps page to prevent incorrect redirects.
Today, I focused on enhancing the star map and improving the portal features on my platform. I set out to make the star maps more user-friendly and visually appealing while also addressing some persistent bugs that had been causing issues. After a long 7-hour day, I successfully shipped 12 commits, including 7 new features and improvements alongside 5 critical fixes.
One of the standout features I implemented today is the addition of scannable QR codes in every portal cover. Each auto-generated portal star map now includes a small QR code in the bottom-right corner that encodes the portal's public URL. This small change is significant; it allows users to easily share and access portals just by scanning the code with their phone camera. I believe this will enhance the usability of the platform and make it more accessible for users who want to share their portal experiences.
Another notable enhancement was the visual redesign of the SPACE Levels on the home page. I staggered the levels in a zig-zag timeline format, allowing for a more engaging experience. The container width was expanded to utilize the full page width, which aligns better with the hero stats strip. I also adjusted the alignment of the cards, which now alternate left and right against a central vertical axis. This improvement not only enhances aesthetics but also improves the user experience as it creates a more dynamic layout.
However, the day was not without its challenges. I faced several bugs related to how the portals displayed images. Initially, the system was rendering two star maps stacked on the PortalDetail page, which created confusion for users. I quickly realized that the auto star-map URL was not being properly suppressed when a user-uploaded image was present. After some debugging, I managed to ensure that only one cover image is displayed — either the user image or the star map, but never both. This fix required multiple adjustments to the portal rendering logic, but I’m relieved to have it resolved.
I also tackled some routing issues that were causing problems with the /star-maps page. There were instances where users were being redirected incorrectly, which was frustrating for anyone trying to access their star maps. After updating the middleware to correctly handle the PORTAL_SHARE_RESERVED_SEGMENTS, I ensured that the routing now functions as expected, allowing users to navigate seamlessly to their intended destinations.
In addition to these fixes, I added a new feature that allows users to personalize their star maps. The new /star-maps page includes a live configurator with five different styles and a Stripe digital checkout for $29. This feature not only enhances the user experience but also creates a new revenue stream for the platform. I also backfilled star-map covers for portals lacking thumbnails, ensuring a consistent visual experience across the board.
Reflecting on today's work, I feel a mix of pride and exhaustion. Building this platform solo with the help of AI tools like Claude Code in VS Code has its ups and downs. While I save on costs by not paying for additional developer seats, the complexity of debugging and building a cohesive user experience still requires significant time and effort. I am continuously reminded that creating a one-man-show company with a billion-dollar valuation is no small feat, but each day like today brings me one step closer to that goal.
As I wrap up today’s entry, I’m excited about the progress made and the improvements that will enhance user engagement on hashtag.org. The combination of new features and fixes not only addresses current user needs but also lays a solid foundation for future growth. Tomorrow, I’ll turn my attention to optimizing the portal CRM further and exploring additional enhancements to the agentic web experience. It’s a journey, but I’m committed to making it happen.