Things are changing fast. Expect changes to the panel and the features every time you visit. Last update: .
Thank you to Chris Constantine, whose Poi Trails mirror inspired this one.
Liked it? You can give it a thumbs up or leave a comment on YouTube.
If reporting a bug or wanting help troubleshooting, include details of the browser and device you are using.
The app version, your browser's own description of itself, the screen size and the camera picture size are sent with it, to help find bugs. Nothing else.
Posting it? Tag @nick.woolsey and add #poimirror, so other spinners can find it.
iPhone browsers don't let websites go full screen. Two ways round it:
For now the panel slides aside; the tab at the edge brings it back.
Rather not be asked? or , and you can turn this card off.
Poi Mirror is free. If it helps your practice, here are some ways to give back:
Do one thing to support Playpoi, and the mirror is yours on any device whenever you're logged in.
Sign-ups are closed just now. Please try again later.
After signing up, check your email for the link to set your password, then log in. You'll come back here.
Choose one:
Or just reload the page to keep playing… but then you'll get this popup again. Of course you could use a popup blocker… but can't you just give us a callout on social media? The app is awesome: help spread the awesomesauce!
New here? ·
Square suits social media and the circle you spin in. App sounds are the spokes you play, the drum, the beat and chimes. With the microphone, music playing in the room is recorded too (it also hears the app's sounds from the speakers). Songs played in the Music section are app sounds, so they're recorded cleanly even with headphones; with AirPods, choose App sounds, since using their microphone lowers the sound in your ears to call quality. Recordings save to your downloads, named by date and time. High quality records 60 frames a second when the camera gives 60 (the status line shows what it gives; good light helps) at about 2½ times the file size, roughly 150 MB a minute. For videos, Background at 100% (under Trails) shows you at the camera's full brightness.
Trails follow bright lights, so LED poi in a dim room work best. Trail brightness turns the trail down; the poi itself stays as bright as the camera sees it. Raise Light threshold until only your poi leave trails. Ignore still lights skips lamps and windows; Poi heads only skips broad bright patches like walls and faces (lower Largest light if they still get trails). Bridge gaps joins fast poi into lines; Smooth softens them.
Drag on the video to move the centre point.
Spin extensions (poi in line with your arm) and the app sets the centre, Size and, with an LED handle, Poi length to match you.
Two overlays, one from each shoulder. They start about shoulder width apart, then the body tracker keeps their distance matched to your shoulders as the camera sees them: shoulder width facing the camera, closing to one overlay as you turn side-on. They stay centred on the centre point and never move up or down or sideways together, so if your axis drifts off the centre point, your shoulders drift out of line with them. The dotted line up the middle is where your own axis belongs; Tone while my body stays on the up-down line (under Accuracy) measures from it. Set the centre point between your shoulders. Play the spokes, the drum, Catch the pulse and Accuracy still use the centre point.
One triangle for a triquetra (fade the other); both for six-petal flowers or two triquetras together. Each triangle's cardinal line is solid and its angled lines are dashed.
Untick Cardinals or Diagonals to hide that set, or fade a set with its Opacity, down to Off. A hidden spoke still lights when the pulse or a game lands on it, so the beat always shows. D fades them all to 5% and back.
Zoom crops the picture, so you can stand the camera further away; distance is what evens out near and far arms. ×2 on a phone's main lens is about a 50 mm view. 4K keeps a zoomed picture sharper, if the camera offers it (see the status line). Side-on: stand sideways and spin wheel-plane patterns facing the camera. The screen shows two copies of you, one mirrored and one not, so forward spins turn toward the middle and backward spins away; Swap sides if it's the other way round. Everything else works as usual. Set the centre point in the normal view.
Shapes follow the Size and Poi length settings. Inspins go from 1 and antispins from 3: both are two-circle patterns. At 0° a petal tip points straight up; an inspin's petal is its inner loop. Rotation offers only the angles that put outswings or inswings on the spokes. Dots: large at the outswings, small at the inswings (where the poi passes the arm), a ring at the middle of each petal or loop.
Draws each shape as a machine at the peak of human skill would spin it facing you. Its arm turns at an even speed, and its hand circles a small circle at the arm's end (Hand circle), speeding up and slowing down as it goes: that is all it has to drive the poi. It lands every outswing (or inswing) exactly on its beat, in line with the arm. Between beats the poi runs ahead or falls behind as gravity and the air push it, and the hand changes its speed as little as it can. Turning is as you see it on screen. Without air the two sides come out as mirror images and the shape is the same both ways round: Newton's laws work the same played backwards, so the side where the poi falls, mirrored, is a side where it climbs. Air always takes energy out, so with air the sides differ a little and the other direction gives the mirror image. Arm length is shoulder to hand; the poi's length is Poi length under Overlay.
A routine sets Shape 1 and turns Shape 2 off. The progression: 8 inspins; 4 inspins on the cardinals, then the diagonals; 2 inspins vertical, horizontal and on each diagonal; 8 antispins; 4 antispins on the cardinals, then the diagonals; 6 antispins vertical, then horizontal; then the triquetra pointing up, right, down and left. Random shuffles the same shapes. A chime marks each change.
The mirror shows your petals; only your poi in the air show your planes and what your hand and wrist are doing. Switch between the two: the mirror fades for a while and you watch your poi directly. The spokes you play and the pulse keep sounding, so you still hear whether you're hitting them. A soft chime marks each change.
No songs yet: press Add songs to choose music saved on this device.
Plays songs saved on this device (MP3, M4A, WAV and others; not streaming services, which don't give you files) through the app's own sound, so recordings carry the music cleanly whatever you listen with, AirPods included: set the recording's Sound to App sounds. Follow the music, started while a song plays, hears the song directly instead of through the microphone, and the app finds each song's beats and 1s ahead of time, from the whole song (with Beat This!, a beat finder from JKU Linz; a few seconds where the browser can use the graphics card, otherwise about 20 seconds for the first 30 seconds of song, the rest while it plays). Speed slows a song down or speeds it up without changing its pitch. The songs stay on this device and the list lasts until you close the page.
Follow the music listens through the microphone (on this device; nothing is sent) and runs the pulse on the music's beat (where the browser can use the graphics card, with Beat This!, a beat finder from JKU Linz, reading the last 30 seconds heard every second): each spoke flashes and sounds on the beat, so you can catch it even where the music has no drum. Until it's sure of the beat, the pulse waits and the picture shows Finding the beat; once going, it keeps the beat through unsure moments, and stops to look again only if it hears no beat for about 8 seconds. A song played in the Music section is followed from the whole song: the app finds its beats and 1s ahead of time. This is the 1 (or M), pressed on or just after a 1, sets the count, and it stays where you put it until you stop following. If the clicks sound early or late against the music, move Follow timing.
Catch the pulse is on, so its pattern chooses the spoke for each beat. Turn Catch the pulse off (under Games) to flash round the circle instead.
Your pattern, its name, the credit and the link are shown to everyone in the Community library. It needs to be a new pattern: the same moves from another beat, repeated, or the other way round count as the same.
Free: no set pattern. The whole overlay pulses on the beat; catch any dot on the hand circle on the beat and it sparkles and plays its note, so you can make up your own patterns, as when you play the spokes. A miss is silent.
The wub's swell leaves room to hear whether a drum hit lands on it (see Drum the circles); the click is the sharper choice. Accented beats sound louder and flash brighter. To accent the diagonals with all eight spokes, set Beat 1 at a diagonal. In 3/4 with all eight, the accent moves round, alternating cardinal and diagonal. If flashes land before the click you hear, which is common with Bluetooth speakers, move Flash timing to the right.
Catch the pulse runs on Pulse the beat: its tempo, beat sound and Follow the music and beat sound.
Target size is how big each dot is: how close your arm has to be. Catch window is how early or late it can be. Raise either to make it easier, lower them as you get better.
Poi-fu: catch each pulse on the inner circle (the arm circle) with your hand or any part of your arm, following it round; no poi needed. In good light the body tracker finds your arms, on this device, and draws them: the soft band around each arm is the part that catches. Each beat is judged a moment after it: a sparkle-poof if your arm touched the dot within the catch window, partial points for partly on, a melt if it wasn't. 8 perfect catches in a row add 50% of those 8; each further perfect 8 counts double. Patterns start on the next 1 of an eight. Write your own runs as beats one way, then the other: +3 -1 is 3 beats on, 1 back; +4:2 moves 2 spokes a beat; =2 stays 2 beats.
Two hands: both hands play the pattern. Your catching hand (Either means the right) follows the yellow pulse; your other hand plays it in whichever two-hand mode you choose, and the app recognises which: same-time opposites (mirrored across the up-down line), split-time opposites (mirrored across the side-to-side line), split-time same direction (halfway round) or same-time same direction (together). The blue ring shows where it expects your other hand. A beat counts towards the streak when both hands catch it. With Free, every dot pulses and each hand catches any dot.
In good light, the app finds your shoulder, arm and poi head (set the centre point and Size yourself, as usual). The drum then sounds as the poi lines up with your arm, for as long as it stays in line. Keep the spinning arm straight and in view. The tracker (Google's MediaPipe) loads once, about 6 MB (10 MB for Full), and runs on this device: the video isn't sent anywhere.
Your last hit shows here: how far off the pulse it landed, and where on the circle it was.
Drum the circles from the inside: every outswing strikes the rim, which shakes; every inswing strikes the centre, which sends out a pulse. Anywhere on the circle counts, so the spokes can be off. Start Pulse the beat and land each hit on its wub: each hit shows how many milliseconds it was early or late, with the camera's and the sound's delays taken out, and the nearest spoke. With Play the spokes on as well, a hit near a spoke also plays that spoke's note, fuller and brighter the closer it is, with a shimmer right on the line. For one LED poi; the drum doesn't need trails (T turns them off).
Music playing in the room? Press Listen, and the spokes retune to its key once it has held steady for a few seconds (about 6–10 s). Listening pauses while the spokes sound, so at a new song, pause for a few seconds and the spokes follow. Uses the microphone; nothing is recorded or sent.
Your sound output adds a long delay, as Bluetooth headphones do, so notes will sound late. For the tightest timing, play sound from this device's own speakers or through wired speakers or earphones.
Speed is how fast your hand circles (turns per second); your last strike's speed shows here, to help set the threshold.
Two moments can pluck: the inswing, when the poi passes the arm (the tip of an inspin's inner loop, the middle of an antispin's inner arc), and the outswing, when the poi is in line with the arm. Each one plays the spoke nearest the arm at that moment, so each plays one spoke. A moment further than the strike window from every spoke plays nothing. Notes rise clockwise from the top. With two poi, each one plucks on its own around the same centre, so two spokes can sound at once. For one LED poi in a dim room; the poi is found with the Light threshold under Trails, and a small ring marks where the app sees it. Set Replay delay to off while playing.
Your hand catches the pulse while your poi play the spokes, in the same key: Catch the pulse and Play the spokes at once, on Pulse the beat. The settings below are shared with those three, so the harp starts from whatever you used there last, and a change here changes them there too.
In good light the body tracker finds your hand and your poi head; one poi plays the spokes for now. Target size, catch window, strike window and Follow the music are set in Catch the pulse, Play the spokes and Pulse the beat.
For one LED poi in a dim room. The poi is found with the Light threshold under Trails; a small ring marks where the app sees it. Feedback follows the live picture, so set Replay delay to off while using it.
These two use the body tracker, not the poi's light, so they need good light and don't need Accuracy feedback or the beat. The drone sounds while your arms move in one of the four two-hand modes (same-time or split-time, opposites or same direction), whether or not you hold poi, with the mode's chord in Play the spokes' key (same-time opposites the home chord, I; split-time opposites V; same-time same direction IV; split-time same direction vi), and stops when the symmetry slips. The tone sounds while the line from the middle of your shoulders to the middle of your hips stays on the up-down line through the centre point, fading as you near the edge of the tolerance and stopping once you drift past it; the dotted line marks the axis and the dashed lines either side the tolerance. Set the centre point on your body's middle.
· ·
v3 · build 2026-11-08.7
F full screen · T trails · D spokes · O rings · B pulse the beat · A accuracy · S play the spokes · K drum the circles · 0–5 delay · H slide panel aside · R follow routine · M this is the 1