Inspiration

What it does

How we built it

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for SkiPal — GPS Ski Tracker & AI Coach

Inspiration

Skiing is a sport you can only judge by feel — until you record it. Most people come back from a ski trip with a pile of GoPro footage and no numbers: how fast was that run, how much vertical did I actually drop, was that line better than last week?

SkiPal turns a day on the mountain into data you can read.

What it does

SkiPal is a native iOS 17+ / watchOS 10+ app that records every run with GPS and turns it into a scorecard:

  • Live run recording — background GPS tracking with pause/resume; live speed (km/h), altitude, distance and slope grade on a high-contrast screen that stays readable in snow glare.
  • Resort auto-detection — a bundled database of 55+ resorts; SkiPal works out where you are without you tapping anything.
  • Route map — MapKit rendering of the current and past tracks.
  • Statistics & achievements — totals, personal bests (top speed, longest distance, longest run) and a 1–5 star achievement system.
  • Share cards — one tap to render a shareable card with your speed, distance and resort.
  • Live weather & snow quality — current conditions, 5-day forecast and a 0–100 snow quality index from the public Open-Meteo API (no API key, no account).
  • AI coach — turns a finished run into a score plus three concrete suggestions (line, rhythm, endurance).
  • Fall detection — the motion sensor detects a fall and offers to reach your emergency contact.
  • Video capture — record the highlights of a run.
  • Apple Watch — a watchOS app with two-way sync via WatchConnectivity.
  • iCloud sync — sessions sync through the user's own private CloudKit database.
  • Bilingual — English and Simplified Chinese.

Try it out

git clone https://github.com/Ricky-v2v/SkiPal.git
cd SkiPal/ios/SkiPal
xcodegen generate
open SkiPal.xcodeproj

Location tracking needs a real device (or a GPX route in the simulator). Build, CloudKit and permission setup are documented in the repo README and QUICKSTART.md.

Everything runs on-device: no account, no backend, and no data leaves the phone unless the user turns on their own iCloud sync.

Built With

Share this project:

Updates

Submission history