The Job
As a Web Development Intern, I worked closely with the product team to support the launch, adoption, and refinement of Gobo Pro, the new platform that adds venue management functionality to Gobo's existing ticket sales platform. Using React and Next.js, I was a key part of creating Gobo Pro and helping to understand and build features to support Gobo's venue partners.
I’ve learned a lot of technical skills such as front-end development, React, Next.js, TypeScript, Vue 2, JavaScript, CSS, and some backend work with Firestore and APIs. I’ve also gained insight into how a startup is run and what other teams are working on, from collaborating with Marketing to working closely with the Product Design team.
Gobo works in two-week sprints. At the end of each sprint, we review our progress and outstanding tasks using the Jira board. Thanks to Gobo’s structured system and the team’s organization, I always felt like I was meaningfully contributing to the startup while continuing to learn and grow.
My favorite project was working on the Event page in the new codebase. It was incredibly rewarding as a programmer to see my code gradually come to life and take shape as the long-anticipated final product. The goal of the project was to migrate from Vue 2 to a new stack using Next.js and React.
I also had the opportunity to contribute to the Marketing side of Gobo. The Product and Marketing teams are deeply interconnected: neither can thrive without the other. As a startup, one of our main challenges was expanding our reach: how do we attract more artists and grow our user base? Brainstorming ideas like a referral program, building a stronger social media presence, and exploring other outreach strategies played a key role in that effort.
During the MacNest weekly cohort meetings, I had the chance to reflect on what I wanted out of the summer. Now, I can proudly say that I've achieved the goals I had written down for work, for myself, and at the intersection of both. Whether it was exploring more of Minneapolis, learning a new skill, managing my time better, asking more questions, or even finding a new café where I could work, the outcome of this summer has been entirely positive!
During my time at Gobo, I made steady technical progress while deepening my understanding of how a collaborative product team works. By May 30, I had committed changes that allowed invited users to skip authentication, while also pre-filling the artist name based on profile data in Firestore. I worked on building the sidebar navigation and successfully implemented next and previous button functionality. I began development on saving artist profiles under the inviter’s account using a dynamic inviteId segment, which ensures artist data is tied back to whoever invited them, streamlining the onboarding process. Over the next weeks, I implemented a username/invitation ID requirement flow, and enabled anonymous authentication, allowing artists to access features without full registration and then convert their account later. On June 9, I finished the flow for converting anonymous users to permanent users and redirecting them post-submission. On the app site, I scoped access levels: event owners could view all ticket data, while invited artists had a read-only view. By June 20, I had transitioned the core Event page of the ticketing site from Vue 2 to Next.js, moving from client-side to server-side rendering for performance and scalability. I also learned how to structure Next.js 13+ apps using server-rendered data with interactive client components.
Throughout the internship, I actively applied the Design Thinking Mindsets in my workflow. I embraced failure as a learning opportunity, especially when new features broke unexpectedly or I had to rework logic. These moments pushed me to write better, cleaner code. I stayed curious and open to exploration, experimenting with AI, new programming languages such as Vue 2 and deepening my knowledge of React and Next.js. I leaned into radical collaboration, learning that asking for help early often led to faster, more creative solutions than trying to figure everything out alone. Overall, I learned the importance of starting small, building iteratively, and testing frequently, even before a feature felt perfect. These mindset shifts didn’t just help me grow as a developer, they helped me grow as a colleague, communicator, and problem-solver. I'm looking forward to implementing these in future opportunities!