Inspiration

When we think of the word silly, we automatically add the word goose to it. That's how you get Silly Goose.

We also love the idea of an idle game that doesn't take itself too seriously but still builds on the idea of becoming a TikTok famous goose. Idle games are something that can draw everyone in and make them feel like they are part of something bigger.

What it does

Silly Goose Aura is basically your goose's journey to becoming the most famous silly goose on the internet. You start with just "vibing" (clicking the goose), generating aura, and then you unlock social media platforms to start building your following.

The whole point is to get as much aura and as many followers as possible. Since it's an idle game, you can just let it run in the background while you're doing other stuff, and your goose will keep gaining followers. The more you play, the more your goose's aura and influence grows. It's giving "set it and forget it" but make it chaotic goose energy.

Plus we added a system where you can sabotage other players!

How we built it

The game was built using Devvit and Bolt, Reddit's developer platform for creating interactive social apps. Devvit provided the backbone for rendering UI components and handling in-app interactions, while Bolt was used for building, deploying, and testing the app.

We went with React and TypeScript because we wanted something that could handle all the complex game logic without breaking. We also wanted to use Tailwind CSS because we wanted something that looked clean and modern without having to write a million lines of JS in CSS. The codebase is written in TypeScript, which gave us strong typing and better code structure for managing the game's growing complexity. For storing persistent data like scores, follower counts, and user progress, we used Redis as our database. It was fast, lightweight, and perfect for handling the real-time nature of an idle clicker game. The game logic is all object-oriented with TypeScript classes handling everything from aura calculations to item purchases. We also used OpenAI's SORA to help generate assets.

Challenges we ran into

The biggest challenge was probably figuring out how to balance the progression system. We wanted the game to feel rewarding without being too grindy, but also without being too easy. Getting the cost scaling right for upgrades was a whole thing - we didn't want players to feel like they hit a wall, but we also didn't want them to unlock everything in the first 10 minutes.

Another challenge was making the social media mechanics feel authentic without being too complex. Making a social media app within a social media app is quite a feat.

The visual feedback was also tricky - we wanted every click to feel satisfying, so we added the flying numbers and different outfits.

  • Techinical Challenges: What made this entire process more chaotic, though, was the lack of version control in Bolt. The project ended up being split across multiple Bolt repos, mainly because Bolt doesn’t let you revert easily. Every time something went wrong or broke the build, we had to fork from the history and start a new project. Over time, this resulted in a tangled mess of repositories ; each trying to fix what the last one broke. (Links to all versions at the bottom.)

We even tried integrating Figma assets early on, but Reddit’s Bolt template didn’t support them well. So we ended up prompting it to generate the game from scratch based on the core idea. Once that worked, we replaced the default goose with a custom asset. That part alone took quite a few tokens. In fact, just trying to get proper message passing between components (client and server) like sending the username and score to the leaderboard burned over 8 million tokens. No matter how many different ways I asked, Bolt just couldn’t wire that up right. Eventually, I had to fork and handle the data manually.

Each time something broke (which was often), Bolt would either refuse to build or start cutting random chunks of code by itself. At one point, it even tried to auto-generate a TikTok-style layout, but message passing was broken again. On top of that, assets constantly got corrupted with MIME type errors even though they were all well under 3MB. These assets were crucial to the experience, and I tried everything: uploading them via stackblitz, restructuring folders, nothing worked consistently. That’s where more forks happened, just to roll back to working states.

Eventually I removed the entire assets folder, which finally let the project build, but obviously broke a lot of the visual experience. So I made a GitHub repo just to store the assets and working bits of the code and imported them into a fresh Bolt project. But even then, Bolt continued modifying files on its own. Took me ages to figure out that it was silently overwriting things, possibly due to the sheer size of the project.

In total, the project consumed over 36 million tokens, spanned multiple forks, and involved fighting Bolt more than anything else. Since past chat history can’t be accessed anymore, I’ve listed all the relevant repo links here for reference:

StackBlitz Links:

Bolt Equivalents:

Accomplishments that we're proud of

Bolt. Bolt is incredibly hard to get it to do what you want. We burned through hundreds of millions of credits but we got it to work.

We're also pretty proud of how the goose looks and feels, the outfits are adorable, the visual feedback is satisfying, and the whole thing just has this chaotic energy that matches the concept perfectly.

The fact that we managed to create something that's both simple enough to understand immediately but deep enough to keep players engaged for a while is something we're definitely proud of. It's giving "easy to learn, hard to master" energy.

What we learned

Building an idle game is way more complex than it looks. You have to think about progression curves, balance, and keeping players engaged over long periods of time. It's not just about making numbers go up, you have to make those numbers going up feel meaningful and rewarding.

We also learned a lot about state management in React. When you're dealing with complex game state that needs to persist and update frequently, you really need to think about how you structure your data and how you handle updates without overloading the UI thread.

The social media mechanics taught us a lot about game design too. We had to think about what makes each platform unique and how to translate that into gameplay mechanics that feel authentic but aren't overly complex.

What's next for Silly Goose Aura

We want to polish the game to turn it from a concept to a full blown story about why the goose is so famous. We have an entire idea for a backstory and story that progresses throughout the goose's journey.

We also own sillygooseaura.com :) link

Built With

Share this project:

Updates