Build Journal
Spatial Empire Redesign & Portal Tier Enhancements — May 28, 2026
I redesigned the spatial empire with a new portal tier and 3D building glyphs. Here’s how I tackled the challenges and improvements today.
What shipped
- Redesigned spatial empire — Introduced a new top-down nadir-view with consistent visuals.
- Portal tier enhancements — Stacked buildings on a glowing portal-ring base.
- 3D building glyphs — Replaced portal glyphs with 3D representations for upgraded tiers.
- Sci-fi rebranding — Renamed elements for better thematic coherence.
- Critical bug fixes — Resolved multiple issues for seamless user experience.
Today was a long but productive 6-hour grind where I focused on redesigning the spatial empire and enhancing the portal tier. I shipped 12 commits, including eight features and improvements, alongside four critical fixes that were necessary to keep the project moving forward. The most significant change was the top-down nadir-view redesign, which incorporates a concentric portal halo and bird's-eye structures that now match the satellite tiles. This was crucial for creating a more cohesive visual experience across the platform.
One of the standout features I introduced is the ability to stack buildings on top of a glowing portal-ring base. This campfire portal serves as the foundation, providing a sense of depth and engagement in the user experience. Additionally, I bumped the glyph size from 44px to 51px, which not only makes them more prominent but also redesigned the Comm Relay to include a framework, observation deck, and multi-axis arcs. These changes are intended to breathe new life into the interface and enhance user interaction.
Alongside the visuals, I undertook a sci-fi rebranding effort. The elements have been renamed to include Habitat Pod, Comm Relay, Orbital Station, Observatory, and Launchpad, all featuring hex pads and live pulse dots. This rebranding was not just cosmetic; it reflects a deeper integration of functionality and aesthetics, aligning with the overall vision of the spatial AI portal platform. However, this endeavor took longer than expected due to the need for consistency across the various elements.
On the technical side, I faced some challenges that required attention. One of the critical fixes was ensuring that the Portal.tier was correctly forwarded through portalToSpatial and that the selected-portal merge didn’t wipe out the tier. This was a significant bug that could have led to confusion in the user interface, and it took a while to diagnose the root cause. I also had to wire Portal.tier through the /api/portals/resolve endpoint and the search-suggest feature to make sure that the Business/global category view rendered the 3D tier buildings properly. It was a bit of a rabbit hole, but I’m glad I caught it early.
Another fix involved forcing the AdvancedMarker on Google Maps for upgraded tiers. Initially, the SymbolPath fast-path was bypassing the tier building, which meant that the visual representation on the map was inconsistent. By addressing this, I ensured that the tier buildings—whether they are towers, castles, shops, temples, or spires—are now accurately represented in the 3D view.
In the spatial-empire domain, I dropped the 'house' tier in favor of the campfire as the legacy portal glyph. This change was significant as it aligns with the new semantic direction of the platform. I also renamed the default tier from 'house' to 'campfire' to emphasize this shift. The introduction of M1.1 with the Portal.tier, PortalSubscription, and tier-icon badge on map markers is also a step towards creating a more intuitive experience for users.
Reflecting on the day, I feel a mix of pride and exhaustion. Building this solo with the help of AI tools like Claude Code in VS Code not only saves costs but also allows for a more personalized development approach. Yet, the grind is real. Each commit reflects hours of testing, debugging, and refining. As I move forward, I continually remind myself of the vision: a one-man-show company with a billion-dollar valuation. Each feature I ship, each bug I fix, is a step closer to that ambitious goal. The path is winding, but I’m learning and iterating every day, and I’m excited about what’s next.