Build Journal
Marketplace Integration and GIGI Enhancements — April 24, 2026
I integrated live resale listings into the marketplace and enhanced GIGI features while tackling deployment bugs. Here's the journey and lessons learned.
What shipped
- Live Resale Listings — Integrated live data from hashtag.space into the marketplace.
- GIGI Voice Fixes — Resolved crashing issues with GIGI voice launcher.
- Onboarding Tooltips — Implemented coach marks to guide new users on the map page.
- Checkout Improvements — Enhanced Stripe checkout process for reliability.
- Deployment Health Checks — Adjusted health check polling to improve deployment stability.
Today, I set out to enhance the marketplace experience by integrating live resale listings from hashtag.space and to refine various GIGI features, including voice functionalities and onboarding processes. After a long 22-hour day, I successfully shipped 13 new features and improvements along with 9 crucial fixes, marking significant progress on my journey to build a solo-driven billion-dollar company.
The highlight of the day was the integration of live resale listings on the /marketplace page. I replaced the previous placeholder arrays with actual data from hashtag.space, allowing users to see active resales like #tokopedia for $3,500 and #microsoft for $2 million. This shift not only makes the marketplace more dynamic but also enhances user engagement by providing real-time data. I was pleasantly surprised by how seamless the integration went, though it did eat up a few hours of my day as I navigated the API intricacies.
However, not everything went smoothly. I encountered a frustrating issue when trying to fix the MetaMask wallet integration. The Geo Portal was probing three upstream paths that consistently returned 404 errors, leaving me puzzled for a while. After some digging, I realized that the paths were outdated and had to streamline the process to ensure users could easily select their owned #names. This fix took longer than expected and highlighted the need to constantly verify API endpoints when integrating external services.
Another area that needed attention was the GIGI voice functionality. I had a crash in the app due to a misplacement of hooks, which halted my progress for a couple of hours. The GigiVoiceLauncher was crashing because of a conditional return that broke the expected hook order. Once I moved the problematic return statement, everything fell back into place. It’s moments like these that remind me how crucial it is to maintain proper React hook order, especially as I build out more complex features.
In terms of onboarding, I introduced a coach mark on the map page to guide new users towards the '+' button for creating new portals. This tooltip is stored in local storage and only shows once, ensuring that it doesn’t overwhelm users who are already familiar with the interface. I also made some adjustments to the checkout process, making it more resilient and reliable, which is a crucial aspect since I aim to streamline user experiences. The Stripe integration was also refined to improve reliability, which I hope will reduce cart abandonment rates.
On the deployment side, I had to adjust the health check polling to accommodate the cold-start times of my Next.js app on the VPS. Initially, I was getting warnings during clean deploys due to the 5-second probe being too short. By extending it to 30 seconds and polling every 3 seconds, I ensured that the deployment process became smoother without unnecessary alerts. This was a crucial fix that took longer than anticipated but ultimately improved the deployment reliability.
As I reflect on today's work, I can’t help but appreciate the journey of building this platform largely solo with the help of AI tools like Claude Code in VS Code. The autonomy allows me to iterate quickly, but it also means that every bug or setback feels magnified. Balancing the need for rapid development with the necessity of thorough testing can be a tightrope walk. However, I believe every challenge faced ultimately strengthens the product.
In conclusion, today was a mixed bag of triumphs and challenges, but progress continues to be made. Each feature shipped and each bug fixed brings me closer to my vision of creating a valuable agentic web experience. With every commit, I am not just building a product; I am laying the groundwork for a one-man-show company that I believe can reach a billion-dollar valuation. Tomorrow, I will continue this journey, tackling new challenges and refining the platform further, with the goal of making the agentic web accessible and functional for everyone.