·4 min read

Why I Built Bokuju

I wanted a real-life Pokédex since I was eight. Turns out the hard part isn't the AI. It's resisting the urge to over-engineer everything.

dev diaryindieorigin story

I've wanted a real-life Pokédex since I was eight years old.

Not the concept of one. I mean the actual thing. Point your device at an animal, hear the robot voice read you its stats, feel like you've caught something. New Pokémon Snap scratched part of that itch in 2021 but it was still a game about fictional creatures in fictional places. I wanted the pigeon outside my window to have HP and a rarity tier.

So I built it.

The original idea took about 30 seconds

I was walking near an aquarium last year, checking out the fish as you would and then big ole fish with an interesting nose swam past, and I thought: that thing is obviously a Rare. Maybe Rare+. It has to be. Then I thought about what its card would look like. Then I thought about what moves it would have. Flowing seaside rend, obviously. Maybe something defensive.

By the time I got home I had half a design document in my notes app.

The core loop was obvious from the start: photograph a real animal, AI identifies it, AI generates a unique piece of art for it, you get a card. Every card different. Every card yours. The sumi-e art style (Japanese ink painting) came to me almost immediately too. It felt right for something that was meant to feel like a living field guide. Clean, timeless, beautiful whether the creature is a dragonfly or a humpback whale.

Capturing a creature and generating a card in Bokuju

The name

Bokuju (墨獣) combines the Japanese words for ink (墨, boku) and beast (獣, ). Ink Beast. I liked how it sort of just flowed, was simple enough - probably a pain to ever get people to understand what it is by just the name but hey lets start small and go from there.

What I actually spent my time on

Not the AI. The AI was the easy bit: Gemini is remarkably good at both wildlife identification and generating art in a specific style when you describe it precisely enough. I spent a week getting the prompts right and then it mostly just worked. As time goes on the models will get better i.e results should in theory improve without any changes to the core loop.

The hard part was the card itself.

I wanted each card to feel like a real collectible. The stats had to mean something. HP, Attack, Defence, Speed, all derived from real species characteristics, not made up. A cheetah should be faster than a tortoise. A blue whale's HP should make you feel something. Getting that system right, making it feel fair and interesting across ten thousand species, took longer than anything else in the build.

I still don't have all the pieces in the exact shape I want and the battle system took time. Turn-based card combat where the cards come from your personal collection sounds simple until you have to balance it across a player base where one person has twelve Legendaries and another has only caught house sparrows.

A Bokuju battle arena

What launch day was like

Quiet. There's always a feeling that as soon as you release the floodgates open but c'est la vie. Most app launches are quiet.

It's only been live for about a month and everytime a new user signs up or I see a new card in the gallery its a win for me.

What's next

We're four updates in now. The step counter XP system (walk more, your Bokuju level up) went in a few weeks ago. Crossbreeding is live. The challenge feature, where you can dispute Bokudjin's identification, came in 1.0.4 and has already generated some genuinely funny community moments.

I've got a ton of ideas, week by week, and writing about it here when there's something worth saying. If you've downloaded Bokuju and you have a question, a weird card, or a species that stumped the AI, drop me a line. I read everything.

The sawfish from the aquarium turned out to be a legendary card by the way. Cool!