We love to go skiing. Having knowledge of the ski-area brings advantages like better route finding, knowledge of points with a great view and many more. For tourists this knowledge is rather hard to retrieve and thus one primary objective is to enhance winter sports experiences. With extensive use of data we strive to deliver real time information (e.g. snow quality, lift queues) for skiing and other activities in winter sports regions like southern Bavaria and combine this functionality with gamification features to motivate the users to explore the region, visit and support local businesses and enrich their stay. All of this functionality is integrated in user applications, smart speakers (e.g. Alexa) and the environment making use of the cloud and IoT for managing the data.

Features and Goals

Our great goal is to enrich tourists’ experiences in winter sport regions in as many ways as possible. For this reason many different design goals and functionalities have been elicited. In our vision all of them can be integrated into a single, user-friendly system (like a mobile app) and allow for diverse possible applications.

  • Smart Visitor Guidance: Measure the flow and possible congestion of skiers and snowboarders on the different slopes and lifts and thus minimising wait times.
  • Gamification: Motivating the users to complete interesting challenges (e.g. visit special places, take a selfie at a point of interest, try to ski 5 km on a single day, and many more) while collecting points. Those points are called SkiBucks and can be accumulated and exchanged for rewards. The real time behaviour of those challenges (each only for a limited time or a specific occasions) makes completing them even more thrilling. This approach has two major advantages: On one hand, we can use our data for smart visitor guidance to steer streams of skiers and snowboarders to lesser busy areas. On the other hand, the rewards can be used to promote local businesses (e.g. by offering coupons for a given amount of SkiBucks) and thus generating customers. Also, knowledge from locals can be used to generate cool challenges.
  • Context Based Recommendations: Recommender Systems (RS) are commonly used in many applications, especially in tourism domains. Thus, integrating a smart recommender system for different application areas is an important feature to make our system to a powerful tool for tourists. One application area could be recommending appropriate slopes by analysing the previous behaviour of the user (e.g. with GPS traces). Another one could focus on promoting local establishments like Skihütten, Bars, Restaurants etc. As a side effect statistical data may be generated and published for business owners to develop better marketing strategies in the future. Other important points:
  • Statistics: Showing statistics to the users of the system, for example their total amount of kilometers travelled, max. Speed, total time, …
  • Accessibility Features: We want to enable all kinds of users to experience the tourism regions. Thus, settings for showing and recommending suitable establishments for impaired people is an important feature. Also the application itself has to be usable for as many users as possible. Concrete ideas for this kind of feature are high contrast modes, text to speech in the mobile app, filters for users in wheelchairs.
  • Aprés Ski mode: Not every user goes to the slope for skiing only. For this reason creating plans for Aprés Ski activities should be included. They may include functionalities like showing the last ride downhill or using our IoT data to show if there are still free seats in a given establishment.Additionally, party music of the type Malle-Hits should be played while using the app in Aprés Ski mode.
  • Social Features: Activities alone may not be as fun as together with other people. Thus helping the formation of group and supporting groups with decision making can also be relevant features to consider. This rather big amount of features is complemented by nonfunctional requirements including:
  • Offline use of the system: Cellular coverage may not be optimal during activities and thus caching data is important.
  • Extensibility: We don’t know what the future holds. But Augmented Reality features and story based games (“Explore aside from normal challenges”) would be together with other innovations great additions to our service. These are our ambitious ideas for enhancing the tourism experience. There are many challenges for sure, but we think this is a concept to make many stays from just a nice holiday to a great experience.

What we actually built

Complexity and the feature-rich concept of ours in combination with the limited time during this hackathon made it impossible to implement all of the proposed features. In addition, there were things we couldn’t possibly accomplish during a hackathon (e.g. getting field data, generating real data). Thus, we had to elicit the most important ones, which were realistically implementable, and integrated them in a web+mobile app. Our main focus area was implementing the gamification feature complete with an backend storing different challenges and rewards, as well as a frontend application which enables the user to interact with the system. While we didn’t have enough time to implement an IoT device for reporting environmental data, we were able to make some considerations like useful wireless technologies (e.g. LoRa) for future implementations. This leaves us with an overview of the realised concepts and goals:

  • User-friendly interface: The UI is designed in a way that the user is able to navigate intuitively. Natural Mapping techniques have been applied (for example the use of markers in maps) and well-known layouts (e.g. navigation bars in the bottom of the screen) make the UI feel great.The solution consists of using and adapting different components in the React-framework, which forms the basis for our front-end.
  • Map View: The Home page allows to user to view all of the available challenges and resources in his/ her near environment and provides and overview of the slopes. This enables him/ her to plan routes manually and to quickly find interesting activities in the area. The map also shows ski routes (which can be custom created for new and interesting slopes or if there isn’t data available) with additional information like difficulty ratings, snow quality, etc.. Also dynamic markers have been included to show geo-locations. A toggle switch for showing the usage of slopes is also in this view. The framework we used is called Leaflet. Implementing the maps has been one of our greatest challenges, since we encountered many incompatibilities to other used modules, but we were able to sort them out.
  • ListViews: In addition to the map views ListViews allow for viewing the challenges individually in a simple representation. This view also allows for redeeming rewards.
  • Reward-Redemption with QR codes: In order to get your reward we provide a QR-Code which may be used at participating local businesses. Since there are no local businesses participating right now, we provide a link to another important resource.
  • Backend: Data management is handled by our backend. The database containing the different challenges, rewards, later more user and environment data is handled there. Cloud native implementation has been achieved by using DynamoDB on AWS and queries can be formed using GraphQL. This allows for easy fetching of data and helps us to deliver our services.The advantage of our cloud native approach is the great amount of flexibility and the possibility to switch to other providers as needed.
  • Alexa-Integration: Voice assistants are an useful interface option and may provide a comfortable way to interact with the systems. The use cases are plentiful and we started by adding a feature to ask for a plan for a nice winter day. Initially we had problems registering our Alexa skill with our provided device, but we managed to take care of that. In the current version the skill can be called by voice and provided useful daily plans. In addition a tips system has been integrated allowing the user to ask for tips regarding the region. The display of the provided Echo Spot is also put to use and shows the tips in text form.
  • SkiBucks: We added our own virtual currency and assigned values for rewards and challenges. This is the foundation of the gamification-rewards system. Settings Menu: Just a simple menu providing an overview of possible settings, mostly integrated for the sake of completeness.

How we built it

Primarily as a team. Using GitLab and Git in general we accomplished suitable project organisation. JavaScript in frontend and backend enabled us to rapidly build a functioning prototype of some of the proposed features. The use of the cloud (AWS in our case) made managing the backend simple. This holds also true for the Alexa Skill, which is deployed also on AWS.

Challenges we ran into

Complexity and the fact that we had way too many ideas for a way too short amount of time. Some JavaScript frameworks are, let's call it .. bad and thus we had to change it during coding. Building applications in a very limited amount of time is exhausting.

Accomplishments that we're proud of

Having a running app and a great concept.

What we learned

Lots of stuff, from debugging javascript to the layout of ski-areas. Collaborative work in a short amount of time and practical implementations were fun, too.

What's next for Skibucks Application

First we have to wait for some snow. ;)

If you want access to our repo, just message us. :)

Share this project: