Inspiration
Planning a ski trip sounds simple until you try to answer basic questions with confidence: Which lifts connect? What’s actually part of the same zone? Why does this trail show up under three different names? We kept running into the same root problem—ski resort data is messy. Names are inconsistent across maps and sources, areas are over-split into too many “zones,” and relationships are ambiguous (is it a parent-child “belongs to” link, or should two nodes be merged as the same place?).
Lumiski started from a belief: AI can only plan great trips if the resort data model is clean, explicit, and editable by humans.
⸻
What it does
Lumiski is an AI-powered ski trip planner built on a structured resort knowledge graph. It helps skiers: • Understand a resort instantly: areas, lifts, trails, and how they connect. • Resolve messy resort maps: unify duplicate nodes, fix hierarchy, and standardize naming. • Plan smarter routes: generate trip plans and on-mountain suggestions based on terrain and layout. • Avoid common pitfalls: fewer wrong assumptions caused by inconsistent zone definitions or mislabeled relationships.
At its core, Lumiski turns “map chaos” into a single source of truth that AI can reliably reason over.
⸻
How we built it • A resort knowledge graph to represent resorts as nodes (areas / trails / lifts / zones) and edges (connects-to, belongs-to, merged-with). • A human-in-the-loop editing workflow so users can directly decide whether something should be bound (hierarchy) or merged (same entity). • A consistent UI interaction model: actions happen directly on the node, regardless of whether an AI recommendation exists. • State-aware logic to keep button states, binding status, and merge results consistent across the graph. • AI assistance for suggestions (optional), but never blocking manual decisions.
⸻
Challenges we ran into • Binding vs. merging ambiguity: A single “relationship” action wasn’t enough—users need to choose between belongs-to and is-the-same-as. • UI state correctness: cases where binding one node incorrectly marked multiple nodes as “bound,” and buttons didn’t update after merges or unbinding. • Over-segmentation of zones: deciding when to keep granular zones versus merging them into a more usable area definition. • Undo / reassign workflows: “remove assignment” and “re-merge” flows must be reliable, or users lose trust immediately. • Inconsistent popups: merge actions using different dialogs created confusion and mismatched functionality.
⸻
Accomplishments that we’re proud of • Built a clear conceptual model separating hierarchy binding and entity merging—critical for clean resort data. • Designed an interaction pattern where users can bind/merge directly from any node, with or without AI recommendations. • Identified and systematized the core product logic needed for correctness: status rules, reversible actions, and consistent UI feedback. • Turned a “map parsing problem” into a scalable approach: human decisions + structured graph + AI reasoning.
⸻
What we learned • Data modeling is product: if the graph is wrong, the planner will be confidently wrong. • Users need control: AI suggestions are helpful, but manual override must always work—and be fast. • State bugs kill trust: if the UI says “everything is bound” when it’s not, users stop believing the system. • Undo is not optional: planners require experimentation—users must be able to revert and try alternatives safely. • Consistency beats cleverness: one unified merge/bind workflow is better than multiple “almost similar” flows.
⸻
What’s next for AI powered ski trip planner • Trip planning engine: day-by-day itineraries based on skill level, preferences, terrain, and time budget. • On-mountain route suggestions: dynamic “next best run” guidance using the resort graph. • Crowd & conditions awareness (where data is available): incorporate snowfall, lift status, and congestion signals. • Better resort ingestion: faster mapping from official resort maps and community sources into the graph. • Collaboration features: shared trips, group ability matching, and consensus-based planning. • Quality scoring & validation: automatic checks to flag conflicting merges, impossible bindings, and broken connectivity.
Log in or sign up for Devpost to join the conversation.