EVERY FEATURE

What Q-dex Can Do

A real handheld Pokédex: two ways to identify Pokémon, a talking Professor Oak, trainer profiles with XP and 64 gym badges across 9 regions, a full 1025-entry dex browser, and more.

Reverse Image Search On-device AI Voice Assistant XP & Badges 1025 Pokémon
01

Two ways to identify a Pokémon

The heart of the device: point it at a Pokémon and it tells you what it is. There are two independent recognition engines, and you choose which to use from the main menu.

Reverse Image Version ONLINE · counts XP

The main mode. It takes a photo with the camera, uploads it to a public GitHub URL, and runs a reverse-image lookup through Google Lens (via SerpAPI). Whatever it matches becomes your catch — and because it uses Google's index, it can recognise any of the 1025 Pokémon. A successful catch is registered to your trainer profile, awards XP, and counts toward badges.

SCANcapture photo→ UPLOADto GitHub raw URL→ GOOGLE LENSvia SerpAPI→ MATCHname → dex entry→ REGISTER+XP · badges

PhyAI Challenge OFFLINE · demo

The on-device mode, and the one that proves the "Physical AI" idea: a MobileNetV2 neural network we trained ourselves runs entirely on the UNO Q, with no internet at all. It currently recognises four Pokémon — Bulbasaur, Charizard, Pikachu and Squirtle — live from the camera at ~160×160 resolution. It is a demonstration mode, so it shows the prediction on screen but does not award XP or count toward badges.

🧠
Why keep both?

The cloud path gives breadth (all 1025 Pokémon); the on-device path gives independence — no connection, no latency, no per-use cost — and demonstrates real intelligence computed on the device itself. Full details of the model and training are on the Physical AI page.

02

Professor Oak — the voice assistant

Press to talk, ask a question out loud, and Professor Oak answers back in his own voice. The whole speech chain is built from separate parts, and two of the three stages run locally.

1 · RECORDUSB mic → wav→ 2 · WHISPERspeech → text (local)→ 3 · CLAUDEgenerates the answer→ 4 · ESPEAKtext → speech
🎙️

Whisper (speech-to-text)

whisper.cpp with the tiny.en model turns your spoken question into text, right on the device.

LOCAL · free · offline
💬

Claude (the brain)

The text goes to Claude, which replies in Professor Oak's character — and it is aware of your trainer progress, so it can talk about your catches and badges.

API · aware of your progress
🔊

espeak (text-to-speech)

Oak's answer is spoken aloud through the amplifier and speaker.

LOCAL · free · offline
💡

The lens LED

The WS2812 lens LED blinks teal in time with Oak's voice, so the Pokédex looks alive while it talks.

visual feedback
🔇
Mute anytime

The Mute button stops the audio instantly, mid-sentence if you want — handy when Oak gets chatty. The same button doubles as mute across the app.

03

Trainer mode — profiles, XP & levels

Q-dex is multi-trainer. Every person gets their own profile with their own catches, XP, level, favourites and badges — just like starting your own save file.

👤

Multiple trainers

Create separate trainer profiles, each with a name and a team (Red, Blue or Yellow). Everyone's progress is kept apart.

⭐

XP for every catch

+100 XP for each catch, plus a +400 XP bonus the first time you ever catch a new species.

📈

Levels to 50

Level N costs 500 × N XP, so each level takes a little more than the last. The level cap is 50.

📓

Catch log & favourites

A chronological log of everything you have caught, plus a favourites list you build yourself.

The Trainer screen has three tabs: Info (name, team, level and XP bar), Regions (your catch progress in each of the 9 regions) and Badges (the full badge case).

04

Badges — how to unlock them

There are 64 gym badges spread across the 9 regions. Earning them is a two-step process, and it is the main long-term goal of the device.

Step 1 — Unlock the region

A region's badges stay locked until you have caught 60% of that region's Pokémon (rounded up). Until you hit that number, none of that region's badges can be earned. Here is exactly how many catches each region needs:

RegionDex rangeTotalCatches to unlock (60%)
Kanto1–15115191
Johto152–25110060
Hoenn252–38613581
Sinnoh387–49310765
Unova494–64915694
Kalos650–7217244
Alola722–8098853
Galar810–9059658
Paldea906–102512072

Step 2 — Earn each badge

Once a region is unlocked, each of its badges is earned individually, by one of three kinds of requirement:

Badge typeHow you earn itExample
CountCatch a set number of that region's PokémonCascade Badge — catch 25 Kanto Pokémon
SpeciesCatch one specific PokémonVolcano Badge — catch Charizard
CompleteComplete the entire regional dexEarth Badge — all 151 Kanto Pokémon

So the badge case fills up as you catch: unlock the region at 60%, then knock off each gym leader's badge by meeting its specific requirement, all the way up to completing the full regional dex for the final badge.

🎨
Original badge art — no copyrighted images

Every badge is drawn procedurally from simple shapes (octagon, droplet, bolt, flower, flame and so on) generated in code, in each gym's colour. Nothing is copied from the games — the badges are our own artwork, shown as grey silhouettes until earned and lit up in colour once you unlock them.

05

The Pokédex itself — browsing & entries

Beyond catching, Q-dex is a full reference for all 1025 Pokémon, with a detailed entry for every one.

📋

Pokédex List

Scroll the complete National Dex — all 1025 entries — with official artwork for each.

🔎

Search by Name

An on-screen keyboard lets you jump straight to any Pokémon by typing its name.

✅

Caught Pokémon

Filter to just the Pokémon you have personally caught on this profile.

💛

Favourites

Mark any Pokémon as a favourite and keep a quick-access list of them.

Every entry has five tabs

Open any Pokémon and page through: Stats (base stats with bars), Location (where it is found), Evolution (its evolution chain), Moves (its moves) and Cry. All of this comes from the offline database built from PokéAPI, so it works without a connection.

06

The details that make it feel real

🔴

Pokéball throw animation

Catching plays an animated Pokéball throw, so registering a Pokémon feels like the real thing.

❓

"Who's that Pokémon?"

The scan screen is styled as the classic silhouette reveal while it works out what you have shown it.

☁️

Capture history on GitHub

Every scan photo is hosted on GitHub (that is how Google Lens reads it); the repo keeps a rolling history of your recent captures, auto-pruned so it never grows without limit.

📖

How to Play

A built-in help section explains the controls and how to use each mode, right on the device.

🗂️

Data management

A Data menu lets a trainer reset their own catches, or wipe everything — with a confirmation step so nothing is erased by accident.

🎮

More Games

A dedicated menu reserved for extra mini-games. Marked "coming soon" — the slot is built and ready for the games to be added.

coming soon