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.
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.
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.
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.
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.
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.
whisper.cpp with the tiny.en model turns your spoken question into text, right on the device.
LOCAL · free · offlineThe 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 progressOak's answer is spoken aloud through the amplifier and speaker.
LOCAL · free · offlineThe WS2812 lens LED blinks teal in time with Oak's voice, so the Pokédex looks alive while it talks.
visual feedbackThe 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.
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.
Create separate trainer profiles, each with a name and a team (Red, Blue or Yellow). Everyone's progress is kept apart.
+100 XP for each catch, plus a +400 XP bonus the first time you ever catch a new species.
Level N costs 500 × N XP, so each level takes a little more than the last. The level cap is 50.
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).
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.
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:
| Region | Dex range | Total | Catches to unlock (60%) |
|---|---|---|---|
| Kanto | 1–151 | 151 | 91 |
| Johto | 152–251 | 100 | 60 |
| Hoenn | 252–386 | 135 | 81 |
| Sinnoh | 387–493 | 107 | 65 |
| Unova | 494–649 | 156 | 94 |
| Kalos | 650–721 | 72 | 44 |
| Alola | 722–809 | 88 | 53 |
| Galar | 810–905 | 96 | 58 |
| Paldea | 906–1025 | 120 | 72 |
Once a region is unlocked, each of its badges is earned individually, by one of three kinds of requirement:
| Badge type | How you earn it | Example |
|---|---|---|
| Count | Catch a set number of that region's Pokémon | Cascade Badge — catch 25 Kanto Pokémon |
| Species | Catch one specific Pokémon | Volcano Badge — catch Charizard |
| Complete | Complete the entire regional dex | Earth 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.
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.
Beyond catching, Q-dex is a full reference for all 1025 Pokémon, with a detailed entry for every one.
Scroll the complete National Dex — all 1025 entries — with official artwork for each.
An on-screen keyboard lets you jump straight to any Pokémon by typing its name.
Filter to just the Pokémon you have personally caught on this profile.
Mark any Pokémon as a favourite and keep a quick-access list of them.
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.
Catching plays an animated Pokéball throw, so registering a Pokémon feels like the real thing.
The scan screen is styled as the classic silhouette reveal while it works out what you have shown it.
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.
A built-in help section explains the controls and how to use each mode, right on the device.
A Data menu lets a trainer reset their own catches, or wipe everything — with a confirmation step so nothing is erased by accident.
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