Evan LuebbertSoftware Engineer
EVAN LUEBBERTCRUX VISION
CRUX VISIONORIGIN

PRODUCT DESIGNER · FULL-STACK ENGINEER

Crux Vision

2025 TO PRESENT

Crux Vision is a movement-review tool I created to turn climbing footage into a workspace for examining motion and technique. It uses pose data to create video overlays that reveal new layers of visual information, helping climbers examine movement holistically and magnify subtleties that ordinary playback can obscure.

Climbers are always trying to improve, whether we are building strength, refining our technique, or working to complete a route at the edge of our ability. We are constantly looking to learn and grow, which makes analysis, technique, and movement comprehension central to the sport. It is also one reason climbing is so social: we learn from one another and work together to overcome challenges.

While climbing, you experience everything from a first-person perspective. You are limited to what you can see and feel, and you cannot observe your own body completely. Sometimes that means missing the bigger picture: how your body moves through the full sequence of a route. Watching another climber, or reviewing footage of yourself, reveals details and relationships that are difficult to recognize while you are on the wall.

Video extends that collaborative process by giving climbers an outside perspective they can revisit. Crux Vision complements video investigation by creating a container for deeper analysis. Movement trails can reveal the path of the hips, the timing of a foot swing, the arc of a reach, or the relationship between different parts of the body.

Using Crux Vision, I have experienced the satisfaction of seeing technical theory represented visually. It has confirmed ideas I had about why a move was or was not working, exposed relationships I had missed, and directed my attention toward things I would not have thought to examine.

Crux Vision cannot replace the intuition and experience of a climber. It complements the practice of analyzing movement and technique. It is a microscope for video analysis: a way to investigate movement, magnify subtleties, and build stronger connections between what we see and what we feel on the wall. The current public beta is only the beginning, with significant room to explore new visualizations, comparisons, and meaningful measurements.

CRUX VISIONMOVEMENT REVIEW

Review the crux

Crux Vision combines focused pose analysis with precision playback controls, making it easier to isolate a move and investigate a specific question. Select the short segment that contains the movement you want to understand, then move fluidly between ordinary video review and pose-based overlays.

ISOLATE THE CRUX

Select the section that contains the move you want to understand, often the hardest move, a recurring fall, or a place where two methods differ. A focused range keeps analysis centered on relevant climbing and lets the on-device pose model return results much faster.

  1. REVIEW WITH PRECISION

    Loop the selected range, slow down playback, step through analyzed frames, and create named checkpoints for important positions. Repeat a movement, inspect individual moments, and return quickly to the parts of an attempt that deserve closer attention.

  2. FOCUS THE INVESTIGATION

    Choose the body part that matches the question you are asking. Focus on an ankle generating momentum, or examine a hip, shoulder, wrist, knee, or elbow. Each selected trail turns a movement path obscured through time into something visible. This can help confirm an observation, reveal a new detail, or explain the movement to another climber.

CRUX VISIONVISUAL OVERLAY

Movement made visible

Movement trails trace parts of your body through space, preserving the complete shape of a movement as a persistent visual path. For this comparison, I selected my left ankle, hip midpoint, and shoulder midpoint to investigate two attempts at the same dynamic move.

THE MOVE

The move begins from a poor foothold: a flat, sideways-facing surface that is difficult to jump from without slipping. The destination holds are two opposing side-pulls. To stay on the wall, I need to catch them with enough height to keep my arms bent, create compression through my upper body, and press my foot into the flat wall.

It is a quick, coordinated movement, and the momentum, body position, and timing all have to come together within a fraction of a second.

READING THE TRAILS

In the unsuccessful attempt, I try to power directly through the move by pulling on the sloped handholds and jumping. My chest and shoulders lead while my hips follow behind. I arrive with my arms extended and my body stretched away from the wall, without enough leverage or any support from my feet to hold the position.

In the successful attempt, I generate momentum differently. I swing my left leg backward, then drive it forward and upward. The ankle trail makes that larger arc immediately visible. The swing carries my hips through the movement, allowing them to lead rather than trail behind my shoulders. The hip and shoulder trajectories rise higher, and I arrive more centered beneath the holds, with bent arms and a foot pressing into the wall to take weight off my arms.

My climbing experience gave me a theory about why one attempt worked and the other did not. Crux Vision gave that theory a visible form. Isolating the move and comparing trails pulled attention toward the timing and relationships that ordinary playback spreads across a fraction of a second.

The overlay does not replace the experience of a climber. It complements that knowledge, providing an intuitive surface for individuals, groups, and coaches to examine movement, make nuanced observations, confirm theories, and explain complex technique to one another.

CRUX VISIONENGINEERING

Building visuals from video

Drawing a skeleton is straightforward compared with deciding when its data is trustworthy enough to show. Climbing gives a pose model difficult input: crossed limbs, occlusion, motion blur, and unusual body positions the model was not trained for. Sometimes these conditions result in MediaPipe output with missing data or detection errors. The engineering challenge was to preserve the movement without disguising that uncertainty.

TECHNICAL HIGHLIGHTS

  • Progressive, on-device pose analysis in a module worker
  • Presentation-timestamp synchronization for live overlays
  • Immutable raw pose data with derived, inspectable views
  • Confidence-aware filtering and gap-bounded smoothing

TECHNOLOGY

  • React
  • TypeScript
  • Vite
  • MediaPipe Pose
  • MediaBunny
  • Canvas 2D
  • Web Workers

FROM VIDEO TO OVERLAY

A climber imports a local video and selects only the range they want to study, keeping the analysis focused and reducing processing time. MediaPipe analyzes that range progressively in a worker, drawing the overlay as results arrive so the climber can begin reviewing the movement while the source video remains playable. Each pose sample keeps its presentation timestamp, and live Canvas layers use the same display transform as the video, keeping overlays aligned across portrait and landscape footage without uploading or re-encoding the clip.

PRESERVING UNCERTAINTY

Raw pose results remain immutable. Confidence, body-scale plausibility, and motion over time determine which joints enter a derived view. Implausible jumps and unreliable positions are rejected; smoothing stays inside valid segments. When a joint disappears behind the climber or wall, Crux Vision shows an honest gap instead of inventing a continuous path.

CONTINUITY IS A TRADEOFF

The ordinary interface reduces a large calibration system to three understandable approaches. More continuous data can be useful, but it is not automatically more accurate.

  • BALANCEDUses moderate confidence and motion cutoffs to balance useful continuity against false positions.
  • STRICTUses higher confidence cutoffs and tighter motion limits, creating more gaps to avoid false limbs.
  • PERMISSIVEUses lower confidence cutoffs and looser motion limits to preserve more data, with a greater risk of questionable positions.

CALIBRATION BY ITERATION

Calibration is an iterative process rather than a search for one universally correct filter. I compare raw, accepted, rejected, One Euro, and centered views against the same cached MediaPipe results, isolating each policy or filter change from a new inference run. Coverage, rejection, gap, and smoothing metrics reveal how a setting changes the data, but visual review determines whether the resulting body positions still make sense.

The public beta exposes this deeper workspace for advanced manual calibration. Thresholds, continuity rules, smoothing behavior, and preview modes can be adjusted while the original pose samples remain immutable. Most climbers only need the Balanced, Strict, and Permissive presets; the advanced controls make the reasoning behind those presets inspectable and give me a controlled surface for developing better defaults.

Calibration remains ongoing. I am continuing to test across static positions, explosive dynamic moves, overhangs and occlusion, crossed limbs, varied camera angles, and different styles of climbing. A change should improve more than one kind of movement without creating a new failure somewhere else.

SMOOTHING RECORDED MOVEMENT

Even accepted pose landmarks can shift slightly from frame to frame. That noise makes a skeleton appear to jitter and turns a movement trail into a jagged path. Smoothing produces more visually stable poses and cleaner overlays and trails, but every smoother must trade some immediate responsiveness for visual continuity.

The One Euro filter is adaptive and causal: it uses the current and earlier accepted samples, applying more smoothing to slow or nearly still movement and responding more quickly as movement speed increases. Because it does not look ahead, it follows the chronology of the incoming pose track, but it can still visibly trail a fast, dynamic move.

The centered offline smoother uses accepted samples before and after each timestamp. Its symmetric window avoids the same systematic trailing and produced the most useful display for recorded dynamic movement while still removing substantial jitter, so it became the display default. Looking forward creates a different risk: movement can appear to begin slightly early. Both smoothers stay inside accepted segments and reset at missing or rejected data rather than blending across a gap. Accepted raw retains the original model output.

CONFIDENCE BY SCOPE

MediaPipe attaches two confidence signals to each detected joint. Visibilityestimates whether the joint is clearly visible rather than hidden by the body, wall, or another limb. Presence estimates whether the joint is actually within the captured frame. Crux Vision requires both signals to clear their configured thresholds before a joint enters an accepted view.

A global threshold establishes the baseline, while body-group overrides can target repeated problems in related joints without over-filtering the entire body. Joint-level overrides provide an even narrower adjustment when needed. Higher thresholds remove more questionable positions, reducing false limbs at the cost of more missing data and broken trails. Lower thresholds preserve more continuous movement, but increase the chance that an uncertain or incorrect position will remain visible.

CONTINUITY AND PLAUSIBILITY

Confidence hysteresis uses different requirements for acquiring and retaining a joint, preventing borderline data from blinking on and off at a single cutoff. Timestamp-aware plausibility checks compare joint speed, acceleration, and changes in apparent limb length against body scale, rejecting positions that would require an implausible jump even when the model reports high confidence. The smoothing controls then tune filter responsiveness within the accepted values.

LIMITATIONS

Filtering and smoothing can reject noise or make accepted movement easier to read, but they cannot recover a joint the model never observed. One Euro can lag fast movement, while centered smoothing can anticipate movement onset. Both remain approximations that need continued comparison against accepted raw data.

Movement trails are most useful with a fixed or nearly fixed camera. Camera movement can distort trails because the overlay measures motion within the image, including movement introduced by panning, zooming, or camera shake.

Computer vision remains imperfect. Calibration can improve the usefulness of the visual result, but it cannot repair major detection errors or missing data. Crux Vision should not be treated as flawless motion capture or biomechanical truth.

CRUX VISIONOUTLOOK

An open investigation

Crux Vision began with climbing because it is the movement discipline I am familiar with and passionate about. Other sports and movement disciplines could benefit from the same concept: visuals can create a shared language between what someone feels, what a video shows, and what another person can observe.

The public beta is the first useful version of that idea. My immediate goal is to make the complete workflow comfortable during an ordinary gym session, then let real use guide what comes next. I want future features to grow from the questions climbers and coaches bring to the tool, not from adding visual complexity for its own sake.

NEW VISUAL LENSES

There is substantial room to deepen the investigation. New overlays could show the direction and speed of a movement, preserve earlier positions as ghost poses, or bring several settings together around a question such as hip drive, a leg swing, or the sequence of body positions through a move. Carefully bounded measurements could help examine timing, angles, stillness, and movement paths while remaining honest about missing or uncertain pose data.

COMPARE ATTEMPTS

Video comparison is especially valuable. Synchronizing two attempts could make differences in path, timing, body position, and method easier to see. Over time, saved review sessions, editable annotations, and shareable visuals could turn Crux Vision into a richer surface for collaboration between climbers and coaches. The same principles may complement expertise in other movement disciplines, but each brings its own questions. I would want those directions to be explored with the people who understand them.

Crux Vision will never pretend to know the correct way to move. Its purpose is to help athletes learn something about their technique, give coaches a clearer way to explain an observation, or add a new element to an open conversation between climbers.

Try Crux Vision with your own climbing video. If it helps you notice something—or if you have observations or improvements—I would love to hear about it. I welcome feedback, feature requests, and open conversations about where the project should go next.