Pinch a card in the air and drag it. Bring both hands together to zoom. Make the peace sign and everything goes back into place. In Portuguese, and nothing leaves your computer.

Hand recognition happens right in the browser. There’s no AI server in between, no sign-up, and no API key.
Google’s MediaPipe is included in the project folder — it isn’t downloaded when you use it. It works offline, and the camera images never reach any server.
Captions, camera alerts, and the butler speaking: 25 strings translated with a versioned patch. The voice uses the computer’s own synthesizer, in pt-BR.
Python 3 and Chrome. No pip install, no dependencies: the server is 180 lines and uses only the standard library.
Everything happens inside the browser tab. The Python server only serves the page and reads your text files.
Serves the page, lists the files .md from the folder you point it to and returns the 3D models. Subfolders become orbs; loose files become cards.
It reads your hands, decides whether you pinched, threw, zoomed, or made a peace sign, and applies real physics — inertia, friction, and collisions with the edges.
There’s no language model, no cloud, and no reading of your content. The only “model” is the hand tracker, and it runs locally.
Tested on Linux (Ubuntu) on 21/09/2026. The original author documents Mac and Windows; it runs on all three without any changes.
It comes with Mac and Linux. On Windows, download it from python.org. Nothing beyond the standard library.
# check the version python3 --version
It’s the browser where tracking works best. You’ll need to allow camera access once.
# no webcam? use demo mode http://localhost:4890/?sim=1
Only to download the original project, which lives in a separate repository (its code powers the engine).
git --versionReal commands, in order. It takes about two minutes from start to finish.
It includes the Portuguese layer, sample notes, and scripts.
git clone https://github.com/inematds/holo-maos.git cd holo-maos
The engine is by Zubair Trabzada, licensed under MIT, and lives in his repository. We don’t copy the 77 MB — the script clones it directly from the source.
bash scripts/baixar-upstream.sh # clone into upstream/
There are 25 exact replacements: captions, camera alerts, the butler’s lines, and the pt-BR voice selection. The script saves the original file alongside it (holo.html.original) and lets you know if the author changed any text, instead of translating only part of it.
python3 scripts/aplicar-ptbr.py # [ptbr] 25 fragments translated, 0 lost # [ptbr] holo.json pointing to .../notas-inema
Port 4890. If it’s in use, change it with HOLO_PORT.
cd upstream && python3 server.py # port busy? HOLO_PORT=4891 python3 server.py
Allow camera access when Chrome asks. Turn on a light facing you — that helps more than any code adjustment.
http://localhost:4890 # with camera http://localhost:4890/?sim=1 # without a camera: synthetic hands
Any folder with files .md or .txt. Subfolders become orbs; loose files become cards on the table.
# upstream/holo.json {"folder": "/caminho/para/suas/notas"}
The four constants that control sensitivity are at the top of the script, in upstream/holo.html.
// HIGHER number = easier to grab const PINCH_IN = .30, PINCH_OUT = .42, PINCH_EARN = 2; const AMP = 1.45; // arm reach to the edge of the screen
If you memorize just one, make it the peace sign: it undoes any mess.
BELISCAR pega o cartão, arrasta, arremessa com inércia belisco rápido abre a pasta-orbe ou abre a nota arremessar para fora da tela = some (reabra a orbe) 2 beliscos afasta/junta = zoom · torcendo = gira esticar 2 mãos grande = lê · amassado = a voz resume PAZ ✌ (segurar) arruma tudo de volta tecla F efeitos: puxar, empurrar, desenhar, palma tecla J modo mordomo: fica dourado e fala português tecla H desliga as mãos e usa só o mouse
It doesn't work as a mouse replacement for everyday use: holding your arm in the air gets tiring in minutes. The real use is different.

Advance a slide with a gesture, from a distance, without a pointer in your hand.
Bakery, clinic, reception: no one touches the screen. Hygiene without an expensive gesture reader.
Anyone with wrist pain or limited mobility can operate the screen without a mouse.
No promises about what doesn’t exist: below is the actual status as of 21/09/2026.
?probe=1 it passed 26/26 in one run and then started stopping at 2/4 — in the original code too, without our patch. The test touches the card before the camera maps the screen, in a headless browser. With a real camera, it doesn’t get in the way.