Skip to main content
ReDance Logo

0-to-1 · iOS App · AI-Assisted

ReDance

Learning a dance from a video means fighting the video. ReDance is the practice player that fights it for you — slow any clip down, mirror it, and loop the hard part until the moves stick.

Now in TestFlight beta — I posted the build on social media, dancers signed up, and I invited them in to test it.

TestFlight8 beta testers
ReDance app hero shot

Role

Product Engineer

Timeline

Feb 2026 – Present

Team

Solo

Scope

0-to-1 (Research, Design, Develop, Test, Launch)


Every dancer's practice tool is a video player that won't cooperate

I'm a dancer. So this started as my own frustration — then I heard the same three complaints from nearly everyone I practice with. They aren't vague wishes; each one points at a specific, fixable failure of the tools beginners already use.

Dancers practicing together
My dance practice group

I find a routine I love on TikTok — but at full speed, I can't follow it at home.

For a 30-second routine, I drag that tiny progress bar back and forth a hundred times before the moves stick.

Dancing is exhausting enough. Running between the mirror and my propped-up phone makes it worse.


Beginners are forced to learn on tools built for watching, not drilling

Before designing a single screen, I looked at the three apps dancers already live in — YouTube Shorts, Instagram Reels, and TikTok. The same gaps showed up across all of them.

01

Stuck at full speed — gone before you catch it

To learn a step, a beginner needs to drop the clip to half speed or slower and actually see where the feet and arms go. On Shorts there's no playback-speed control at all — you can switch the captions or push the quality to 1080p, but the one setting that would help is missing. So the move keeps flying past at full speed, and “practice” becomes replaying the same blur, hoping it sticks.

YouTube Shorts options menu — caption and quality but no speed controlYouTube Shorts · the full menu, no speed change
02

No mirror — so you learn every move backwards

A front-facing video is reversed: the dancer's left is your right. Without a mirror toggle you either flip every move in your head while trying to keep up, or prop the phone by a wall mirror and physically shuttle between the two. Reels offers Save, Remix, Sequence, even an Auto-scroll toggle — but nothing to flip the video, so every move arrives mirror-wrong.

Instagram Reels menu — no option to mirror or flip the videoInstagram Reels · no way to edit the video
03

Manual scrubbing — the workaround everyone hates

The fallback is dragging a tiny progress bar back and forth by hand — hundreds of times for one short routine. It's the single most-mentioned pain, and it's pure friction between watching a move and owning it.

TikTok clip with a tiny progress bar dragged by handTikTok · dragging the tiny progress bar

The reframe: ReDance isn't a better video player. The job is to remove the friction between watching a move and owning it — and each of these three pains maps to one feature.

Slow it down without losing the rhythm

The Problem

Full speed is unfollowable; coarse speed controls overshoot

At 1× a beginner can't catch the footwork. But YouTube-style speed jumps (1× → 0.5× → 0.25×) skip right past the speed where a specific count finally clicks.

The Solution

Fine-grained slow playback, tuned for muscle memory

Precise control over playback speed so dancers can settle on the exact pace where they can follow and keep the count — then ramp back up as the move sticks.

Mirror it, so you follow instead of translate

The Problem

Facing the screen, the dancer's left is your right

Following a front-facing video means mentally flipping every move — or physically shuttling between a mirror and a propped-up phone. Both drain energy that should go into dancing.

The Solution

One-tap mirror flip — the screen becomes your mirror

Flip the video so the on-screen body matches yours. Practice facing the phone, copy directly, and skip both the mental translation and the trips back to the wall mirror.

A running start — be in position before the music hits

The Problem

Rushing back into position breaks your focus before you even begin

You set the phone down by the mirror, hit play, and then scramble back to your spot — hoping you make it before the first beat drops. Sometimes you do. Sometimes the music is already two counts in and you've already lost the beginning. The setup should take zero mental energy. Instead it costs you every single take.

The Solution

A countdown gives you time to get there

A few seconds between hitting play and the music starting — enough time to walk back, find your position, and be ready. No rushing, no replaying the intro just to catch the start. You begin every take on your own terms.

Concept · Not in the shipped MVP

Designing what's next: an AI practice coach

The MVP ships with no AI inside it — and I want to be precise about that. But the clearest next step is one: record your practice, let AI compare it against the original, and surface where your movement drifts. Designing it surfaces the real questions of building an AI feature people will actually trust.

Building trust

A beginner won't trust a bare number. So the AI shows its work: a side-by-side of your take and the original, with the specific moments it flagged — feedback framed as a coach pointing, not a judge scoring.

Handling AI error

Pose detection breaks on bad lighting, loose clothing, and odd angles. Rather than inventing a confident-but-wrong correction, low-confidence reads degrade honestly — “couldn't read this clearly, try a wider angle” beats a false verdict that erodes trust.

Dynamic output → UX

Every take produces different, probabilistic output. So the UI can't be binary. It surfaces confidence, focuses on the 1–2 highest-impact differences instead of 30 demoralizing nitpicks, and frames everything as progress toward the move.

No engineering team — I was the engineering team

The rare part of this project isn't a single screen; it's that one person owned the whole line, from problem to shipped iOS app. I designed it and I built it.

Owned end-to-end

Problem framing, IA, user flows, UI, and the production build — all solo. Shipped as a native iOS app in React Native, no handoff, no spec lost in translation between design and dev because they were the same person.

AI-assisted workflow

With the AI assistance of Figma Make and Claude Code, I turned the concept from wireframe to working prototype in weeks. It let a designer ship real, interactive product alone — and it's exactly the fluency the market now expects.


Tested with real dancers — the core held, the roadmap sharpened

As a solo maker, I inverted the usual order: a sharp personal insight justified building a focused MVP fast, so I could learn from a real, working app instead of a deck. To recruit, I posted the beta on social media — the posts drew genuine interest, and I invited those dancers in as TestFlight testers. Eight tested this round: the exact target user, most of them strangers rather than friends.

TestFlight beta · round 1 complete

The core held. Zero crashes and zero jank across all 8 testers; a 6.5-minute clip played back smoothly; and the craft got called out unprompted — one tester summed it up:

“Aesthetically pleasing… and so easy to use.”

What the testers sharpened

Frame-by-frame scrubbing

The most-requested precision ask — three independent testers, one a dance teacher who spec'd it exactly: press anywhere on the frame and drag, video follows your finger frame by frame. The clearest on-thesis signal for the next build.

Side-by-side compare

The strongest validated concept: play your take next to the original. Testers already hack this together in CapCut — and the unlock they named is an auto-aligned timeline, the part that's hardest to do by hand.

Honest discoverability gaps

Not just praise — real misses. The countdown toggle silently waited for the next loop (“nothing happened”), and a hidden ±5s gesture went undiscovered despite a first-run hint. Cheap, high-leverage fixes I'd have missed without real users.

Next round: turn feedback into a before/after

  • Ship the top fixes plus frame-by-frame scrubbing as the first, headline iteration.
  • Capture it as a before/after — the most valuable artifact this project can produce: a real user pain, tracked to a shipped change.
  • Let the findings gate what's next — including whether the AI coach concept earns a place on the roadmap.

Reflection

ReDance is the clearest proof of how I work: I find a real problem I understand from the inside, frame it tightly enough that every feature has to earn its place, and then take it all the way to something that runs on a phone. Designing and building it myself collapsed the usual design-to-dev gap entirely. If I were to do one thing differently, I'd line up testers before the build wrapped — the personal insight was strong enough to justify building first, but the moment I put it in real dancers' hands, they sharpened the roadmap faster than I could alone.

Next Project

IKEA Food Mobile — O2O Experience Redesign