Reading the weather where you are.
Reading the weather where you are.
We rebuild the mountain you are standing on from its own survey, and put the day's weather, the avalanche danger and the ski patrol on it. In a browser. Before you get off the lift.
Lidar elevation and surveyed geometry, built into real terrain on your device as the page opens. Every run, lift, building and tree stands where it stands in the ground truth.
Live snow and weather read band by band up the hill, with the hour by hour ahead, so the summit and the base are two different answers because they always were.
Avalanche danger by aspect and elevation, the ski patrol line for the mountain you are on, and an SOS that sends where you are. None of it is behind a price.
The app counts the day from your phone's own position fixes: runs, vertical, distance, top speed, and the time split between skiing, riding lifts and standing still. The calculation runs on the device. Position fixes stay on the device.
Each day's totals are added to a season ledger and kept: days out, mountains skied, runs, vertical, distance and top speed, for the current winter and every winter recorded before it. The season boundary is 1 August, so a January day is counted in the winter it falls in.
The profile shows the career figures, the season figures, per-day charts for vertical, runs, top speed and time split, a cumulative chart against the previous season, a card per mountain with its own totals and dates, and the table of every recorded day.
You give it four measurements, and only because the model uses them. Your height and weight decide how much air you push, so a tuck is worth what a tuck is worth for your body. Your ski or board length and its waist width decide the arc you carve. Pair a heart rate monitor and your pulse rides along with the day.
Every surface is built at load time from elevation data and surveyed geometry, in the browser, and is checked against surveyed summit elevations after it is built.
The shape of the mountain comes from a digital elevation model served as map tiles. Inside the United States the first request goes to USGS 3DEP lidar, the national airborne laser survey, at a nominal 3 feet. Outside it, and anywhere 3DEP has not flown, the chain falls back to a global elevation survey at about 100 feet.
The chain is declared in one file that both the browser and the tile route read, so the resolution the app asks for is always one the route serves. The source that built the terrain in front of you is named on screen with its nominal resolution.
The heightfield is meshed at 320 segments a side, about 205,000 triangles, and the mesh density drops on a device that misses the frame budget. Terrain quads run 62 to 203 feet, median 126 feet.
Runs, lifts, buildings, roads, forest stands, water, car parks, peaks and named places come from open mapping data, baked once per mountain and shipped with the app so the mountain loads with no network round trip.
The survey radius is 3.7 miles, which in a shared canyon reaches neighbouring areas. Runs, lifts and station markers are clipped to the resort's own winter sports permit boundary plus an 820 foot margin for access runs. At Solitude that removes 483 runs belonging to Brighton and Park City. The clip applies at every mountain whose boundary the survey carries.
Lifts are built as machines: towers at surveyed positions, rope height and sag from the machine type, drive and return terminals, a maze, carriers at the spacing that type runs, and cabin doors on a cam profile with a dwell time. Twelve lift types are modelled, from fixed-grip chairs to chondolas, T-bars, platters, rope tows and magic carpets.
The sky is computed from Rayleigh and Mie scattering for the sun angle at that place and minute, so horizon paling and sunset reddening follow from the air mass along the line of sight.
Snow is shaded from published measurements of snow albedo, grain size and subsurface scattering, held in a module a test can read without a GPU.
Sun and moon are placed at their computed altitude and azimuth for the coordinate and minute, at their true angular size, with the moon's phase. After dark the stars brighter than magnitude 2.0 and the naked-eye planets are drawn at their computed positions from J2000 elements.
Medium USGS 3DEP lidar at 3 ft, global 100 ft elevation elsewhereMesh 320 segments a side, about 205,000 trianglesCheck against surveyed summit elevations, after the build
A first-person camera at eye height on the same geometry the map is drawn from. Walk the base area, board a lift, ride it to the top station and ski down.
Fifty-two in the United States, eleven in Canada. Each one is a baked survey on disk.
Avalanche danger by aspect and elevation, active weather warnings in full, ski patrol contact and posts, and a hold-to-send distress signal. Every item in this section is in the free version.
The reading is a grid of eight compass aspects by three elevation bands: below treeline, treeline and alpine. Each cell carries its own rating on the five-step North American Avalanche Danger Scale, in that scale's own colours. This is the standard operational display used by avalanche centres, ski patrol and guides.
Rings run from below treeline at the centre to alpine at the outside. Each wedge is one of the eight compass aspects. A north-east facing slope in the alpine band reads off one cell. The five ratings and their colours are set by the North American Avalanche Danger Scale.
The app also shows the bulletin's problem types, its valid period, and the forecast zone the reading was issued for.
A group is identified by a four-word phrase. The encryption key and the mailbox name are both derived from that phrase on the device.
The phrase is stretched with PBKDF2 into an AES-GCM key, and hashed with SHA-256 into the mailbox name. Neither the phrase nor the key is transmitted. The relay stores ciphertext under a hashed name and discards it after two minutes.
Membership is possession of the phrase. There are no accounts and no server-side roster.
Sharing begins on a button press. While it is running a persistent chip is shown that doubles as the stop control. It stops when the tab closes and does not resume on return.
Position, heading, speed, battery level, and the day's run, vertical and speed summary where you have switched that on. Each packet carries the current fix only.
Members appear on the 3D mountain as beacons with name and distance, and in a roster with last-seen times. An armed SOS flag travels in the same packet.
Medium AES-GCM over a relay that holds ciphertext onlyKey PBKDF2 from a four-word phrase, on the deviceRetention two minutes
One web application, no install and no app store. The same scene and the same figures on every device it runs on.
The instrument layer: speed, elevation, vertical, heading, the run you are on and the named places around you, in ruled strips with the centre of the frame kept clear. Every figure is the same one the legend and the card show. Feet, miles and miles per hour. Press V to fold it away.
Medium One web application, WebGL and WebXRSurfaces phone, laptop, headset, glassesInstall Add to Home Screen
One payment, kept for good, including every mountain added after you buy. The API plan is for people building their own product on the same engine.
POST /api/x402 with {"buy":"pro"}.
How it worksThis is your lifetime key. It is saved on this device and works on any other device via Restore. Keep a copy. Open the app
/api/atlas by coordinate or by slippy tile/api/dem, /api/features,
/api/conditions and /api/boundaries are open to
everyone, key or no key: elevation tiles with lidar where flown,
surveyed runs, lifts, buildings and forest, the reconciled weather
feed and the permit polygons. They are listed here because they are
part of the API, not because the key is what opens them?key=Your API key. Send it as Authorization: Bearer or
?key=. It also unlocks the app.
Medium One payment, kept for goodPrice $3.99 once, for the first 100,000 accountsAccount not required for the free version
Ask for a coordinate or a slippy tile and get back the avalanche reading for that forecast zone, the active alerts with their full text, the land and boundary beneath it, and the nearest reporting instrument. A tile request is answered for the tile centre and cached by tile. The app calls the same functions.
# any point… curl "https://snowpack.fyi/api/atlas?lat=40.581&lon=-111.655" \ -H "Authorization: Bearer sp1...your-key" # …or any slippy tile, cached for everyone who asks after you curl "https://snowpack.fyi/api/atlas?tile=12/845/1550&key=sp1...your-key"
An agent has no card and cannot hold a subscription. x402 is HTTP's own 402 Payment Required, used the way it was always meant to be: ask, get told the price, sign one USDC transfer, ask again. No account, no key, no sign-up. Pay a cent for one answer, or 5.99 for a month, and the month gives you a key that also unlocks the app.
# ask, and be told the price curl -i "https://snowpack.fyi/api/atlas?lat=40.581&lon=-111.655&pay=x402" HTTP/1.1 402 Payment Required # sign the authorization, ask again, get the answer curl "https://snowpack.fyi/api/atlas?lat=40.581&lon=-111.655" -H "X-PAYMENT: $(your_wallet_signs_it)" # or buy a month, and get a key curl -X POST "https://snowpack.fyi/api/x402" -d '{"buy":"api"}' -H "X-PAYMENT: $(your_wallet_signs_it)" # everything on offer, in one answer no wallet is needed to read curl "https://snowpack.fyi/.well-known/x402"
Medium HTTP 402, paid per requestStandard x402, versions 1 and 2, exact schemeAsset USDC on BaseSettlement on chain, before the answer is sent
Medium JSON over HTTPS, by coordinate or slippy tileCache answered for the tile centre, cached by tileCaller the same functions the app calls
Every figure carries one of three labels on screen, next to the number: measured, reported or modelled.
An instrument on or near the mountain reported the value. Snow telemetry is read from the government sensor network and passed through three filters: a noise floor below the sensor's own resolution, spike rejection, and a bare-ground check. The station, its elevation and the reading time are shown.
A forecast office or avalanche centre published the value for this ground. It is shown with its full text, its issuing office or zone, and its valid period.
The value was computed for this coordinate from a numerical weather model. The model and its run time are shown. The label appears next to the figure and is spoken in the audio brief.
Medium Provenance carried beside every figureClasses measured, reported, modelledFilters noise floor, spike rejection, bare-ground check
A mountain is added by baking its survey, clipping it to its permit boundary and verifying it against the current standard. What is in build, in order.
Medium The build list, in the order it is workedMethod bake the survey, clip to the permit, verify to standard
The free version needs no account and no payment details. Avalanche danger, weather warnings, ski patrol and SOS are in it.
No account to ski or share a day. An account only if you want the same profile on another phone. Free, and a minute to make.
Accounts are not switched on for the site yet. Everything else works without one.
Welcome to Snowpack.
Open your profileYour key is saved and tied to this profile. Pick how you show up on the mountain.
Pick a badge or add your own photo. Your avatar rides with your tracking, your group beacon and your profile.
The tracking system measures every day on your own device. Choose what follows your account.
Pair a heart rate monitor over Bluetooth and your pulse rides with the day.
Tracking runs from this phone's GPS today; heart rate pairing needs a browser with Bluetooth.
Your lifetime key rides with your account now: sign in on any device and Pro unlocks itself.
Open your profile