← backZach Lichtman
PowderMeet

PowderMeet

Ski-mountain meetup solver for friends across the resort.

PowderMeet picks the optimal rendezvous across a ski resort, accounting for trail topology, lift wait times, and ability differences. 159 Epic and Ikon mountains supported.

How it works

Resort-aware pathfinding

Dijkstra over an OpenStreetMap trail and lift graph with alpha-weighted lift-wait penalty on max(tA, tB). Custom binary min-heap with lazy deletion and lexicographic edge-ID tie breaks so two devices converge on identical paths under equal-cost ties.

Fingerprint-identical client graphs

Server-side snapshot pipeline (Overpass + DEM) publishes a per-resort manifest to Supabase Storage. Quantized inputs (15-minute time buckets, 0.5°C temperature, 10m elevation) let two clients solve byte-identical graphs without coordinating.

Realtime presence at scale

Geohash-6 bucketed Supabase Realtime channels (1.2 km cells, 9-cell neighborhood subscription) cap presence fan-out by proximity instead of friend-graph size.

Server-enforced safety

Postgres state machine on meet_requests and friendships uses CHECK constraints and BEFORE UPDATE triggers to reject backward transitions. Spatial trigger resolves resort_id server-side from lat/lon to block location spoofing, all gated by RLS through an accepted-friendship join.

Refreshed feature-by-feature demo videos and a screenshot gallery are coming up shortly.

For TestFlight access in the meantime, text 847-226-5527.