Inspiration

I was playing with magnetic blocks with my son when the idea just popped out at me. What if these were a puzzle? And I could just see the interaction in my head.

Later I numbered one of the blocks with blue painters tap and a marker. I could hold the idea in my hand. That taped cube is Cubee. I still have it on my desk. I knew it would translate well to a touchscreen.

What it does

Cubee is a spatial puzzle. You at a grid of cubes and roll them with one finger, like dice under your fingertip. Each face of each cube is one tile of a hidden picture, six pictures per puzzle. Roll every cube to the same face, turned the right way, and a picture assembles.

The boards have a difficulty setting that the user decides. They can go from 3x3 to 8x8. The more difficult the setting the more flair they unlock.

The twist I didn't plan: the six images in a set share a style and a subject, so you'll match a frog's head to a fox's body and kind of like the result. It's still kind of charming even when you're wrong.

Kids Mode exists because my 3- and 5-year-old were my beta testers. Full rotation was too much for them: even after finding the right face you still have to work out which way it's turned. So Kids Mode locks the rolls to vertical only, four faces instead of six, with every picture given its own background color. After that they loved it: And I build puzzles with wizards, first responders, treats, puppies, ect.

How we built it

SceneKit for the board, SwiftUI around it, no third-party dependencies until the hackathon.

I started with one block with six numbered faces, exactly like the taped cube, and iterated on the roll until it felt like a die. Then more cubes, then making every scramble solvable. The pictures came last, and that's when it came alive: "oh, this is actually fun."

The content pipeline wouldn't exist without AI. I pick a reference image whose mood I like, an agent writes prompts describing it, six siblings get generated from those prompts, and a deterministic workflow builds the previews and uploads the pack. A new collection is a server row plus an App Store product, no app update. An agent built the admin dashboard too. I actually treat my local vscode workspace as the "admin panel". If I need a view, it generates it. I can keep all of my reference images where I easily look over them.

I've been building iOS apps since 2012, and this was the first project where I let agentic engineering run all the way. The AI was the 3D developer, the artist, and the admin-panel team. My job became overviews and mockups: sketch a component, call it a mockup, let the agent fill in the details. I got to be the idea guy, and I enjoyed that more than I expected.

RevenueCat was new to me. Their dashboard agent plus my own agent pointed at their API swapped out my raw StoreKit 2 storefront in under a day. Four collection packs, one-time purchase, Family Sharing on, because a kids game should cover the whole household.

Challenges we ran into

Rolling a cube and snapping it to a face sounds like the simplest mechanic in the world. Then I learned the words "gimbal lock."

Kids Mode was a redesign, not a difficulty setting. My kids couldn't hold orientation in their heads, so the game had to change shape, not just get easier.

And the factory ate more of the calendar than the game. Building a puzzle game is also building the machine that makes its puzzles.

Accomplishments that we're proud of

Feeling the idea in my head arrive at full fidelity in my hand.

The face-solve moment. I wanted it to feel like a release of tension, from concentration to accomplishment. The animation and sound help, but it only lands because the pictures are worth revealing: Edo-era gardens, Art Deco, crystalline creatures. Making them was almost too much fun.

But the one I'll keep: my kids came to me asking to play "the puzzle game," and I realized they meant Cubee.

What we learned

The image similarity became a real mechanic, and I never planned it. Six images from sibling prompts come out alike, sometimes too alike, and telling them apart while keeping the feel became part of the design. It surprised me while it was in my hands.

And I learned what building feels like when I stop living in the weeds. I usually zoom out for the big picture now and then. This time I lived there.

What's next for Cubee Puzzles

Distribution. The technical side is in place; now comes the part I'm least comfortable with. I'm a batcave developer: heads down, tell people after it ships. Building in public for Shipaton is a big leap, and the hackathon has been the catalyst for exactly the work I'm not naturally inclined to do. New collections are cheap now. Getting people to see them is the job.

Built With

Share this project:

Updates

Submission history