Inspiration
The project is inspired by the simple, yet profound, satisfaction of classic Clicker and Idle games. I wanted to capture that core loop of "make number go up" and the thrill of seeing both personal and global progress, but wrap it in a unique, visually stunning package with more active player choice than a simple click.
What it does
GlobalNutsack is a neon-drenched, synthwave-styled "Nut Busting" game with a Dating-app-like twist. Players are presented with an endless stream of "Nut Profile" cards, each featuring a unique nut from a list of real and fictional types. For each nut, the player makes a choice: "BUST!" it or "STASH"
Busting a nut contributes to the global "Total Nuts Busted" counter for the whole community. Sometimes, a bust results in an "IT'S A MATCH!", adding a jolt of excitement to the core loop.
How I built it
The entire application was built iteratively inside Bolt.new, using AI prompting as the primary development method. Starting with the bolt devvit template, I guided the AI to build out the different layers of the app:
The Devvit back-end to handle game logic and direct Redis interactions. The front-end to render the neon visuals and game UI. The shared TypeScript types to ensure communication between the two layers was stable.
Challenges I ran into
I encountered several interesting challenges that were unique to AI-assisted development:
Prompting Complex Animations: Articulating fluid, Dating-App-style card swipe and "bust" animations was a major hurdle. It took nearly 50 iterations of rephrasing prompts -- breaking down motion into tiny steps, describing easing, and specifying visual effects -- to get the AI to generate the desired smooth, stylish transitions (which aren't completely nailed right now, but I considered it to be "good enough"). Maintaining Separation of Concerns: At times, a prompt intended to change the front-end visual style would cause the AI to incorrectly alter the back-end server logic. This required careful code review to catch and correct unintended changes to my Redis functions. I checked those breaking changes mostly via gitlab. Platform-Specific API Usage: The AI environment initially struggled with the specific implementation of Devvit's direct Redis access. I had to manually debug and prompt fixes for how Redis context was loaded and used to align it with the official Devvit documentation.
Accomplishments that I'm proud of
Frankly, I'm proud that I got the whole thing running and stable! Creating a full-loop application (UI -> Devvit Logic -> Redis Database -> UI) through prompting was a huge achievement. I'm especially proud of successfully realizing my vision for a somewhat cohesive 80s neon/synthwave aesthetic, which gives the game a unique and memorable personality.
Copyright remarks
The sound effects are all CC0 sound files, so can be used without crediting anyone, but here are the sources:
- stash.mp3: https://freesound.org/people/PLukx/sounds/770908/
- match.mp3: https://freesound.org/people/JW_Audio/sounds/796866/
- bust.mp3: https://freesound.org/people/8bitmyketison/sounds/701340/
What I learned
This project was a fantastic learning experience, especially in the art of "visual prompting." I learned to move from vague requests to structured, command-like instructions to guide the AI in creating specific animations and styles. It was also a great first-time dive into the Devvit platform, forcing me to debug tricky issues with its Backend and Redis implementation.
What's next for Global Nutsack
For now, the plan is to let the community just have fun and bust some nuts! There would be a lot of possible improvements like temporal and permanent upgrades, auto-clicking and more engagement parts.
Built With
- bolt.new
- devvit
- react


Log in or sign up for Devpost to join the conversation.