
Despite the success of Circuits, Rec Room as a company was struggling. In the three years after Circuits exited beta, our Foundation Team was developing a rewrite of our core UGC technology known as Rooms 2. The goal was to migrate the entire ecosystem to a more scalable foundation, but Rooms 2 proved incompatible with existing rooms, suffered from significant instability, and lacked feature parity. Creators were forced to choose between systems, and they overwhelmingly chose not to adopt it.
The fallout led to significant organizational churn as the scale of the problem became impossible to ignore. UGC leadership turned over, and Art Min, formerly of Meta, was brought in as Engineering Director, while Cameron Brown, Rec Room's CCO, assumed leadership of the organization. Based on my success as the principal architect of Circuits, I was promoted to Technical Lead of UGC and asked to help stabilize the platform and chart a new path forward.
Table of Contents:
To understand adoption issues, I engaged directly with players on Discord. The consistent feedback was that R2 felt defective and unreliable. I created a public-facing spreadsheet to capture all of the reported issues from the community. Mark Domowicz, who co-led the Logic Team with me, was brought in to lead the effort on the product side, and together we organized the defects into four categories:

We were asked to lead a 16-engineer task force to regain control of the project. This became a six-month defect-reduction initiative focused on bringing R2 to a stable state. We set strict quality milestones and held weekly playtests with a professional creator group. Each milestone was tied to concrete outcomes such as "zero crashes in the October playtest." Failure of certain milestones would result in termination of R2.

We adopted a strategy focused on maximizing our shots on goal. With only one formal test per week, we needed more repetition to ensure stability, so we instituted daily team playtests. Each morning, I wrote a brief outlining the test plan, we ran the playtest, and engineers spent the rest of the day fixing the issues that surfaced. We then repeated the process the following day. All playtests were recorded using the free vdo.ninja tool, allowing QA to review the footage asynchronously. The approach was later described as "the greatest partnership between developers and QA in the company's history."

Partway through the project, we learned that the Foundation Team was developing a major update to R2 that significantly impacted stability. When we included it in our weekly playtests, crash rates spiked sharply. Mark and I recommended deferring the update until after the six-month bug-fixing period, but management opted to ship it concurrently. With our bandwidth already stretched thin, this decision made it increasingly difficult for R2 to recover.
The period was demoralizing. Mark left the company a few months later, and although I stayed on, it became clear that R2 would not survive. After a layoff in March 2025 made the project too expensive to sustain, the company ultimately decided to end work on R2.
After the layoff, I shifted my focus toward a small set of high-impact UGC priorities aimed at stabilizing the platform and restoring our ability to ship quickly. With fewer teams and less margin for error, the work emphasized pragmatic fixes to unblock creators, improve reliability, and preserve development velocity across the studio.
These efforts spanned several areas, including platform versioning, creator tooling, and exploratory bets like Maker AI. The common thread was prioritizing changes that delivered immediate leverage: removing systemic bottlenecks, supporting key demos, and reinforcing foundations that enabled other teams to move faster.
One of the most critical problems was our versioning system, which tightly coupled Nintendo Switch releases to every other platform. Switch updates required a significantly longer approval cycle, and that constraint was dragging the studio's release cadence down from weekly to monthly.
The core technical challenge was enabling different clients to load different versions of the same room from our servers. Although we already stored a room's full save history, once a room was saved on a newer version of Rec Room, older clients were blocked from downloading anything but the latest save. This was especially painful for our most popular rooms, which operated like live services and updated immediately to take advantage of new features.
I led a small strike team to design and implement changes across both the client and server. We delivered the solution in under a month, allowing the entire studio to continue shipping weekly, unblocked by the Switch's longer release cadence.

After the layoff, we explored several paths to turn the company around. Generative AI tools had become affordable enough to support real products, and investor interest in the space was accelerating. We launched a series of exploratory bets to assess whether generative AI could be a viable direction for Rec Room.
The first of these efforts was Maker AI, a tool that allowed creators to build Rec Room content using voice prompts. Development began late in the lifecycle of Rooms 2, which meant Maker AI was incompatible with most existing Rec Room content. Nick Fajt, Rec Room's CEO, wanted more content available for Maker AI demos, and I was tasked with solving that problem.
Another team prepared a list of our 100 most important assets and I set out to build an upgrader to move them to Rooms 2. The tools were scrappy and required running multiple applications simultaneously, with a fair amount of manual babysitting. When asked why I didn't automate the process further, I explained: this was a sure thing. If I stayed focused, I could port all 100 assets by the end of the week.
A recurring pattern in my career is prioritizing reliable outcomes over shiny technology. I don't like replacing sure bets with unnecessary complexity.
The Maker AI team also built an experimental AI-driven Circuits generator. It worked by having the model emit a constrained subset of C#, which was then converted into Circuits on the client. While effective as a learning prototype, the implementation was ad hoc and violated Circuits architectural principles.
Those tradeoffs were acceptable early on, when the priority was exploration and validating direction. As Maker AI emerged as a more credible bet, however, we needed to professionalize the technology. I was brought in to rewrite part of the Circuits code generator to align with our standards. The scope was modest, but it improved maintainability of the system.
While we were exploring the Maker AI bet, the company continued searching for additional opportunities. Working across several teams, and building on early efforts by engineering manager Sarah Tan, designer David Bednar, and product lead Sabrina Chen, I began developing an idea of my own: Game AI. Game AI was a set of atomic building blocks that allowed creators to integrate generative AI directly into gameplay. These primitives could power voiced characters, interpret games like charades, or even generate meshes and images in real time during play.
I put together a pitch and shared it with leaders across the company, which led to the formation of a dedicated team. We partnered with a small, hand-selected group of top creators eager to explore the space, and together built a slate of 11 AI-driven experiences in roughly two months.

I worked closely with Sarah and Sabrina, who led coordination across the internal team and external creators, while I focused on designing and organizing the underlying technology. Building these games generated valuable insights that we carried forward into subsequent iterations.

The best game we built using Game AI was Sketchy Showdown. The concept was led by Audrey Cox, a principal designer and co-lead on the Logic team. The game pitted two players head-to-head, drawing an animal prompted by an AI narrator. A second AI, Andy Snarhol, would roast the contestants, judge their work, and commission a sculpture of the winner.
The project nearly died in pre production, so Audrey and I scrambled to put together a rough demo. Even in its crude state, the experience was magical. As soon as we shared the demo reel internally, the project was greenlit as a full game. Of all the rooms I helped build during my years at Rec Room, Sketchy Showdown remains my favorite.
Our AI bets ultimately didn't pan out, and in August 2025 the company laid off more than half of its remaining staff. The math was straightforward: Rec Room was losing money, and headcount was the largest expense. Still, the outcome was devastating. The Logic team was reduced to just four people, and many close friends--people I had worked with for years--were suddenly gone.
In the aftermath, the company focused on reaching profitability as quickly as possible. We prioritized initiatives with a clear, near-term path to revenue, particularly those that expanded proven, existing streams.
The first initiative I worked on enabled creators to make content in their rooms giftable. Gifting was already popular for first-party content, and we wanted creators to tap into that same demand. I implemented the client-side logic required to support UGC gifting.

The second project I worked on during our monetization push was a time-limited live activity. Players collected ingredients throughout the world and used them to cook recipes that unlocked rewards. I finished integrating the underlying challenge-tracking system for the feature while another developer was on vacation and contributed to the UI for surfacing challenges and rewards to players.

The third project I worked on was a modification to one of our existing quests, Golden Trophy. Despite being one of the most popular first-party experiences for nearly a decade, it underperformed in terms of monetization. We revisited a strategy we had used successfully in Paintball: selling gameplay modifiers that let players experience familiar content in new ways.
I pitched an initial prototype for Coconut Chaos, a modifier that rained exploding coconuts on players as they attempted to complete the quest. This eventually evolved into a structured challenge, where players who completed Golden Trophy with both Coconut Chaos and Turbo, a modifier that increased enemy speed, could earn a profile badge.
The final project I worked on during this phase was a new "Room Boosts" system structured similarly to Discord Boosts. This system allowed players to boost a room for 30 days which could improve it's discovery and allow the creator to provide a UGC badge to players.
I built Circuits which integrated with the boosts system as well as integrating it into the main page of our UI and designing a boosts page in Figma to summarize a room's boost progress.
