SkiCoach was built for mountains. GPS provides speed, distance, altitude. The scoring formula uses all three. Then a user at Ski Dubai asked: "Does this work indoors?"
Short answer: it didn't. GPS signals bounce off metal roofs, speeds read as zero, altitude stays flat. Every assumption the app relied on breaks inside a covered building.
This article explains what we changed, why, and what it means for skiers and ski schools at indoor venues.
The GPS problem indoors
Outdoor skiing gives you clean GPS data. Speed comes from position changes between readings. Distance is the integral of speed over time. Altitude comes from GPS plus barometer cross-referencing.
Inside a ski hall, none of this works reliably:
- โข Position data is either absent or wrong (multi-path reflections off the roof and walls)
- โข Speed reads as zero or jumps erratically
- โข Distance accumulates from noise, not movement
- โข Auto-pause triggers immediately because the app thinks you stopped
In earlier versions of SkiCoach, an indoor session would either fail validation entirely (rejected as "junk session" because GPS speed never exceeded 5 km/h) or produce meaningless results. The app wasn't wrong โ it was designed for a different environment.
What sensors still work under a roof
A smartphone has more than GPS. Three sensors work perfectly indoors:
Measures forces on the phone. Detects edge engagement โ how hard the skier is working the turn. Works identically indoors and outdoors.
Measures rotation. Detects turns, rhythm, and smoothness. The primary input for turn quality analysis. Roof or no roof, rotation is rotation.
Measures air pressure, which changes with altitude. A 30-meter indoor slope produces a measurable pressure difference. This replaces GPS for run detection.
The key insight: technique analysis never depended on GPS. Edge control comes from the accelerometer. Turn quality comes from the gyroscope. GPS only provided speed and distance โ useful metrics, but not required for coaching.
Barometer-based run detection
Indoor ski halls have a fixed geometry: ski down the slope, ride the conveyor or lift back up, repeat. The barometer sees this as a sawtooth pattern โ pressure drops during descent, rises during ascent.
SkiCoach's RunDetector is a state machine with four phases:
A run is recorded when the skier transitions from descending to ascending, provided the vertical drop exceeds 5 meters and the run lasted at least 5 seconds. The altitude signal is smoothed with a 5-sample moving average to filter HVAC pressure noise, with a 1-meter dead zone to eliminate barometric drift.
This works for any slope with a vertical drop between 20 and 85 meters โ that's the height difference from top to bottom, not the slope length. It covers every major indoor venue, from Alpincenter Bottrop (roughly 30m vertical drop) to Ski Dubai (roughly 85m vertical drop).
Scoring without speed
Outdoors, the SkiCoach technique score is: 40% Edge Control + 40% Turn Quality + 20% Speed Score.
Indoors, speed is unavailable. Removing it and keeping the same 40/40 split would inflate scores because the missing 20% vanishes. Instead, the formula redistributes:
Edge Control 40% + Turn Quality 40% + Speed Score 20%
Edge Control 50% + Turn Quality 50%. Speed removed entirely.
Both edge control and turn quality use orientation-independent calculations โ total dynamic acceleration magnitude (deviation from gravity) and total gyroscope magnitude across all three axes. The phone can be in any orientation in the pocket. No calibration step needed.
Skill-level calibration matters more indoors
Most people skiing indoors are beginners. They're learning snowplow turns, not carving. Without skill-level calibration, a beginner making steady snowplow turns would score 15/100 because the system expects expert-level edge forces.
SkiCoach lets you set your level: Beginner, Intermediate, Advanced, or Expert. The scoring system adjusts expectations accordingly โ a beginner's gentle turns get a fair score, while an expert needs real carving to score well. This is set once in Settings and applies to both indoor and outdoor sessions.

For ski schools, this is significant. A class of beginners will see scores that reflect their actual improvement โ from 30 to 55 over a lesson โ instead of being stuck at low scores because the system was calibrated for racers.
What the skier actually sees
Switching to indoor mode takes two taps: Settings โ Ski Mode โ Indoor.

From there, the recording screen shows a run counter and phase indicator (SKIING / LIFT / PAUSED) instead of the speed gauge. After the session, the results screen shows:

Runs, total vertical meters, duration, total turns, and the score breakdown โ Edge Control, Turn Quality, and Rhythm. No speed stats, no distance, no Strava export. Just the metrics that matter indoors.
Over multiple sessions, the History screen shows progress with the venue name and INDOOR badge:

Five sessions at Ski Dubai. Score going from 38 to 82. Runs per session increasing from 3 to 11. That's measurable progress โ visible at a glance.
What's different in indoor mode
Indoor mode isn't just "outdoor mode minus GPS". Several things change so that the experience works without you noticing the difference:
- โข No false speed readings: GPS data is completely isolated. The app won't announce a "new speed record" from a bounced satellite signal.
- โข No accidental pauses: Outdoor mode pauses the session if you stand still for 30 seconds. Indoors, this would lock the session while you wait in the lift queue. Auto-pause is disabled.
- โข Fall detection works without speed: Outdoors, the app requires movement before triggering fall detection (you can't fall while standing still). Indoors, it relies purely on impact force (5G+) and rotation (3.5 rad/s).
- โข Coaching tips don't need speed: Outdoor tips trigger only when you're skiing fast enough. Indoors, tips are based on your turns and edge engagement instead.
- โข Sessions are always saved: Indoor sessions need 3+ detected turns or 1+ barometer-detected run to be saved. No more "junk session" rejections.
These changes shipped across v1.2.0 and v1.2.1. The initial indoor release worked, but v1.2.1 hardened every GPS dependency we found during real-world testing.
What's free, what's Pro
Indoor mode itself is free for everyone. There's no paywall on the toggle. Here's what that means in practice:
- โ Indoor mode toggle โ no gate
- โ 3 sessions per day (a session with 10 runs counts as 1)
- โ Runs count and total vertical visible
- โ Basic technique score
- โ 1โ3 coaching tips per day (Simple mode)
- โ Fall detection โ always free
- โ Unlimited sessions
- โ Full score breakdown (Edge, Turn, Rhythm)
- โ Instructor comparison report
- โ All coaching modes (Simple / Moderate / Intensive)
- โ Full progress history and charts
- โ Data export (CSV, JSON)
This matters for the flywheel: a free user at an indoor venue can try indoor mode immediately, see their basic score, and decide if Pro is worth it. No friction to start. Real value from day one.
Instructor reports: measurable progress in one lesson
Indoor halls are where people learn to ski. Programs like "Learn to Ski in 5 Days" run structured lessons where measurable progress matters โ both for the student and for the school's credibility.
Here's how it works in practice:
- 1. Student opens SkiCoach and enters the venue's facility code โ Pro activates, venue name is set
- 2. Instructor turns on Instructor Mode in Settings
- 3. Student skis a few runs โ the app records everything
- 4. Instructor gives feedback, student applies it on the next runs
- 5. At the end of the session, the Instructor Report appears:

Run #1 vs Run #2. Turn Quality went from 10 to 60. Edge Control from 11 to 72. Turns per run from 6 to 11. The instructor can show the student: "This is what you improved in one lesson." That's not subjective feedback. It's data on their phone that they take home.
The student uses their own phone. The school invests in zero hardware. The instructor turns on one toggle. No extra steps.
Year-round skiing is a real market
Skiing is seasonal. Except when it isn't.
- โข Northern hemisphere: December to April
- โข Southern hemisphere: June to October
- โข Indoor venues: 365 days a year
Ski Dubai alone sees over a million visitors per year. SNOWworld Landgraaf operates year-round with consistent traffic. These aren't novelty attractions โ they're training facilities with lessons, programs, and repeat customers.
A ski coaching app that only works on mountains misses this segment entirely. And that segment is growing.
Indoor mode and venue partnerships
Indoor mode is available to every SkiCoach user. You switch between outdoor and indoor in the app settings โ it's a simple toggle. Indoor mode works immediately: barometer-based run detection, 50/50 scoring, no GPS dependency.
What's different for partner venues: ski halls and ski schools can request a facility code from us. When a customer enters that code in the app, two things happen:
- โข SkiCoach Pro activates โ unlimited runs, full coaching, all features unlocked
- โข The venue name is pre-filled โ sessions are tagged with the facility for instructor reports and progress tracking
The venue invests nothing. No hardware, no integration, no ongoing cost. They distribute a code โ on a poster, at the reception desk, through their ski school โ and their customers get the full SkiCoach experience.
For venues and ski schools
If you run an indoor ski hall or ski school and want a facility code for your customers, contact us at b2b@skicoach.app. Pilot partnerships are free.
If you're a skier training at an indoor venue and want the full experience โ ask your venue if they have a SkiCoach facility code. If they don't have one yet, tell them to reach out to us.
What we learned
- โข GPS is a convenience, not a dependency. Technique analysis was never about location.
- โข The barometer is underused in mobile apps. Altitude changes of 5+ meters are reliably detectable.
- โข Indoor and outdoor scoring must be separate formulas โ not the same formula with missing inputs.
- โข Skill-level calibration is essential indoors. Most indoor skiers are beginners โ the scoring system must reflect that.
- โข Ski schools care about measurable progress, not feature lists.
- โข "Works everywhere" isn't a marketing claim. It's an engineering constraint that shapes every decision.
Bottom line
Indoor ski training is growing. The technology to analyze technique indoors already exists โ in the phone you carry to the slope. The hard part was isolating GPS dependencies and letting the remaining sensors do what they were always capable of.
SkiCoach shipped indoor mode in v1.2.0 (April 2026) and hardened it in v1.2.1 with full GPS isolation, adjusted fall detection, and relaxed session validation. It works at four venues today. The approach scales to any covered slope with 5+ meters of vertical drop.