Photograph your room and paste a list you must learn in order. Loci puts each item on a real object along one route of up to 12 stops, with a strange little scene for each. Then the lights go out. Say or type the list back: code, not an AI, checks every answer, and each right one turns its stop green.
The real app, from the first stop to every light on.
The one-tap example: twelve cranial nerves in a student room. A short walk with the lights on, then lights out and the list typed back, one stop at a time.
loci.edycu.dev
Recorded from the v0.1.0 production build by scripts/record-demo.mjs. The answers are typed by the script, not remembered by a person; one has a typo, one is an accepted answer.
The answer checker, on real answers shared/score.ts
typed occulomotor→ Oculomotor
Right. One slip in a long word.
typed trochlaer→ Trochlear
Right. Two letters swapped count as one.
typed auditory→ Vestibulocochlear
Right. Your list accepts it after “ / ”.
typed 1. Optic→ Optic
Right. Numbering is ignored.
typed Vitamin D→ Vitamin C
Wrong. Short words must be exact.
said truck lear→ Trochlear
Right. It sounds alike: both are trklr.
Each line is what the real checker answered, run on these inputs (isRight for typing, spokenMatch for speech).
Stop 2 · Lights out
Learn with the lights on. Recall in the dark.
Three real screens from the same palace. Code never shows you the answer while you recall; a miss stays dark until you retry it.
Learn
The view walks the route, one scene per stop. Stop 4, the wall clock: Your wall clock turns into a little truck-lear, honking ‘Trochlear!’ as it circles the room.
Lights out
The room goes dark. Say or type each item. Five right so far, so five pools of the room are back.
Every light on
When every stop is green, the whole room comes back. The result shows the first-try score and both times.
Stop 3 · Who decides
The AI proposes. Code decides.
Two AI calls suggest objects and scenes. Plain code picks the stops, draws the route and checks every answer, so the score means what it says.
Code
Checks every answer
Plain code, never an AI. It forgives slips in long words, keeps short words exact, and takes your own accepted answers after “ / ”.
Na2 lettersexact
Optic5 letters1 slip
Oculomotor10 letters2 slips
Vitamin C7 + 1 letters1, then exact
shared/score.ts · edit distance per word
AI
Finds real objects
Your photo is shrunk to 1280 px on your device, then a vision model names objects and boxes each one.
api/anchors.ts · Gemini, DeepSeek last
Code
Draws one route
It keeps distinct, uncrowded objects and finds the shortest route from the leftmost stop to the rightmost.
shared/route.ts · Held-Karp, exact
AI
Writes a strange scene
From object names only, never the photo, with a sound-alike for hard words.
api/scenes.ts · deepseek-flash
Code
Hears you, eyes closed
In Chrome or Edge, say the list. The same checker reads what the browser heard.
Web Speech API · shared/voice.ts
Device
Stays on your device
Palaces and results live in your browser. The server never stores your photo.
IndexedDB · idb-keyval
Stop 4 · The scenes
Twelve stops, twelve strange scenes.
The example palace in full, word for word. Strange is the point: an odd picture on a thing you see every day is hard to forget.
1
yellow raincoat
Olfactory sounds like old factory
Your yellow raincoat turns into an old factory, puffing perfume and humming 'Olfactory!'
2
blue bed
Optic sounds like op-tick
Your blue bed becomes an op-tick, ticking like a giant eye and chirping 'Optic!'
3
orange cat plush
Oculomotor sounds like a cool motor
Your orange cat plush grows a cool motor, rolling its eyes and purring 'Oculomotor!'
4
wall clock
Trochlear sounds like truck-lear
Your wall clock turns into a little truck-lear, honking 'Trochlear!' as it circles the room.
5
cork board
Trigeminal sounds like try-gem-in-all
Your cork board pushes out three gems, chanting 'Trigeminal!' like a try-gem-in-all choir.
6
yellow desk lamp
Abducens sounds like ab-duck-ins
Your yellow desk lamp sprouts ducklings that do sit-ups, quacking 'Abducens!'
7
black backpack
Facial
Your black backpack grows a grinning face, stretching its cheeks and laughing 'Facial!'
8
striped rug
Vestibulocochlear sounds like vestibule-oh-cock-leer
Your striped rug rolls into a vestibule, where a bull and a rooster leer, blaring 'Vestibulocochlear!'
9
snake plant
Glossopharyngeal sounds like glossy pharaoh in jail
Your snake plant polishes a glossy pharaoh, who gargles 'Glossopharyngeal!' from a tiny jail.
10
red kettle
Vagus sounds like vague us
Your red kettle whistles vaguely, steaming the words 'Vagus!' at you.
11
acoustic guitar
Accessory
Your acoustic guitar sprouts extra strings, wearing rings and scarves as it strums 'Accessory!'
12
globe
Hypoglossal sounds like hippo-glossal
Your globe spins into a hippo with a glossy tongue, licking continents and roaring 'Hypoglossal!'
Objects found by gemini-3.1-flash-lite and scenes written by deepseek-flash, prepared in advance on 2026-10-04. The room is AI-generated.
Stop 5 · Honest by design
What Loci doesn't claim.
Lifted word for word from the plan and the README.
A proof of concept can only show recall in one sitting.
Your photo is sent once to an AI (Google Gemini, or DeepSeek if Gemini is busy) to find objects. The server does not store it.
Checking a whole sentence, spoken or typed, can't be fair or reliable. Short items only.
Stop 6 · Questions
Questions a judge would ask.
Does an AI decide if I'm right?
No. AI finds the objects and writes the scenes. A small checker in shared/score.ts decides green or red. “Vitamin D” never counts for “Vitamin C”.
Where does my room photo go?
It is shrunk on your device, then sent once to Gemini (or DeepSeek if Gemini is busy) to find objects. The server does not store it. Scenes are written from object names only.
What is prepared in advance?
The one-tap example, 12 cranial nerves in an AI-generated student room, was built ahead of time by the same helpers, so it opens with no AI call. Your own photo goes through the real AI; building usually takes 10–30 seconds.
Does voice work everywhere?
In Chrome and Edge, through the browser's own speech recognition. Everywhere else you type, and typing always works.
What lists work?
3 to 12 items, in order, 4 words or fewer each. Add other accepted answers after “ / ”, like Sodium / Na.
Will I still remember it next week?
Loci doesn't claim that. It shows recall in one sitting: the first-try score, the learning time and the recall time. Walk your saved palace again before the exam.
Your room is the memory palace.
Try the 12 cranial nerves in one tap, or bring your own room and your own list.