Ski instruction as a business

Ski instruction as a business

Raven is a marketplace connecting ski instructors with clients on the mountain. I designed the side most marketplaces ignore: the tools that let an instructor run their entire livelihood from a phone.

The Problem

Brilliant on the mountain, a mess off it.

Brilliant on the mountain, a mess off it.

A single instructor juggles bookings across resorts, prices differently for a private dawn session versus a full day with a family of five, blocks out days they want to ski themselves, calls a friend when a group is too big to handle alone, and chases payment afterwards. None of that lives in one place. The work that earns the money is invisible, unmanaged, and easy to get wrong.

One part of a larger problem that our product solved was that compliance officers at housing associations couldn’t answer simple questions quickly such as, “What’s the status of fire safety at this property?” Which sometimes required opening multiple systems, cross-referencing spreadsheets, and often making phone calls.

Research

We started with the instructors, not the screens

A few findings came up again and again, and each one ended up shaping a specific part of the product. They want control, not automation. Instructors prefer to confirm every booking by hand over instant booking, and were wary of anything that felt overly computerised.

Search any estate, block, or flat and the page opens on what matters first — what’s due, what’s open, and which documents need attention — with the full asset register below. Every asset shows its compliance status, next date, and action at a glance.


  • There is no single price. Varying by time slot and season, with override periods like Christmas and New Year (a representative shape was around 400 half day, 595 full day). Shaped the time of day and per resort pricing engine with date overrides.

  • The tooling is held together by hand. Most run on Google Calendar plus a separate booking platform, resolving clashes manually. Shaped a calendar that tracks confirmed, requested and conflicting bookings in one place.

  • Money needs protecting, gently. Deposits and lead times matter, but cancellation penalties have to stay balanced so they do not scare clients off. Shaped the deposit and cancellation policy.

  • Loyalty should pay. Commission was expected at roughly three to seven percent, and instructors expected it to fall the longer they stayed. Shaped the Raven Pro tiers pegged to earnings.

  • Big groups break one instructor. Large bookings need participant limits and pricing that scales with group size. Shaped the add an instructor negotiation.

Search any estate, block, or flat and the page opens on what matters first — what’s due, what’s open, and which documents need attention — with the full asset register below. Every asset shows its compliance status, next date, and action at a glance.

UX Plan

Mapping the whole app as flows

“I want to reach any building, at any level, without remembering a ID number”

Working it out at the flow level first shows how screens connect, forces the empty states and edge cases to be dealt with early instead of patched in later, and makes the real size of the product clear. It also gives engineering and anyone else involved a shared reference for what is being built.

Working it out at the flow level first shows how screens connect, forces the empty states and edge cases to be dealt with early instead of patched in later, and makes the real size of the product clear. It also gives engineering and anyone else involved a shared reference for what is being built.

deep dive 01

The availability and pricing engine

Instructors do not have one price. Rates change by time of day, by resort, and by season, and in the real world it all lives in their head, so they lose money to it.

Search any estate, block, or flat and the page opens on what matters first — what’s due, what’s open, and which documents need attention — with the full asset register below. Every asset shows its compliance status, next date, and action at a glance.

Availability

Instructors sell slots, not single lessons. The slot setup mirrors how they actually teach.

Availability shifts through the season, so it has to flex without getting fiddly.

Pricing

There is no single price. Rates move with time of day, sport and season.

The base rate cascades down, so a rate is set once and only overridden where it differs.

deep dive 02

Adding a second instructor:

A group is too big for one instructor. Normally they phone a mate, settle a cut off app, and the client is left out of the loop, untracked and informal. We built in referrals within the product.

Search any estate, block, or flat and the page opens on what matters first — what’s due, what’s open, and which documents need attention — with the full asset register below. Every asset shows its compliance status, next date, and action at a glance.

The handoff that used to happen over text now lives in one thread, logged and visible to the instructor, the stand in and the client.

Raven turns it into a structured job offer, with counter offers, accept or decline, and the client kept in the loop.

deep dive 03

Instructor Dashboard

The home screen leads with money, and the order is the argument: earnings first, schedule second, everything else in service of those two.

Search any estate, block, or flat and the page opens on what matters first — what’s due, what’s open, and which documents need attention — with the full asset register below. Every asset shows its compliance status, next date, and action at a glance.

Projected earnings for the month, on a trend line, up top.

The week ahead, then the next booking as a card.

Quick modules into every deeper flow: availability and rates, Stripe payouts, bookings and requests, profile, referrals.

consistency

Design System Creation

I created every component, colour and type style is published as a shared library, so the next designer or engineer builds from the same parts instead of rebuilding them. We valued consistency and the design language read as one even as the team grew.

Search any estate, block, or flat and the page opens on what matters first — what’s due, what’s open, and which documents need attention — with the full asset register below. Every asset shows its compliance status, next date, and action at a glance.

behind the build

Measuring and Tracking

I built this analytics dashboard myself with Claude Code, then used it to understand retention and gaps in our onboarding flows. It tracks how the user base grows and who signs up over time, how instructors set their availability down to the day and the time of day, and how complete their profiles are.