Snow Sensei

NDA protected

An MVP for hiring snowsports instructors at Japanese resorts
Booking and scheduling

Booking and scheduling

Our client’s request

 image
Client's location: Japan

Before coming up with the idea for Snow Sensei, our client had experience as a snowboard instructor. While in that line of work, they realized there was no single system that allowed people to find snowsports instructors in Japan. Inspired with this idea, the founder came to SteelKiwi with a request to create a platform that would allow people in Japan – and all over the world – to find and book perfect ski and snowboard instructors plus mountain guides and other snowsports professionals.

Lifestyle WinterSports Japan Website Service Mobilefirst MVP

Relevance

Japan offers around 500 ski resorts – everything from huge facilities to small family-owned places – to satisfy any taste. With such an abundance of choices, it can be really hard to find the resort you want, let alone to book the right instructor for you or your family. After all, you’re not going to a mountain resort in Japan to drink tea and sit around a fireplace all day, are you?

A platform like Snow Sensei could solve this problem. Not only would the platform let you find an instructor and schedule a class more than a month in advance, but you could do so easily. As for instructors, Snow Sensei would help them find new clients so their own businesses could live long and prosper.

Results

Duration:
May 23, 2017 – September 8, 2017
Team:
Backend - 1 Frontend - 1 UI/UX - 1 DevOps - 1 QA - 1 PM - 1
Developed the UI/UX

Our goal was to create a comfortable booking platform that would let instructors set flexible schedules yet remain simple and easy to use. Customers are presented with a transparent booking system that lets them quickly sift through all available instructors and find those that that best match their preferences.

When creating Snow Sensei, we took a mobile-first approach – our design first and foremost caters to mobile screens, which present a number of limitations. Doing so gave us the freedom to improve future versions of Snow Sensei by adding new features and design elements as opposed to having to cut out things that don't work well on mobile screens.

Developed the frontend

Since we developed the Snow Sensei MVP with the Django templates approach, we decided to use Rollup.js as a module bundler for compiling small parts into a common page script file. Rollup uses the new standardized format for code modules that’s included in JavaScript ES6.

We used the Stylus CSS preprocessor, as it has simple syntax and flexible handling of variables, mixins and functions. We used Stripe.js to provide security when transferring sensitive data directly from customers’ browsers to the Stripe payment system without having to save it on the server.

Backend server architecture

A Python/Django + HTML/JS/CSS module is responsible for the main part of the backend work: rendering content, sending email notifications, handling authorization and authentication, and executing everything related to profiles and payments.

The Django Activity Stream module makes it easier to process heterogeneous events in a uniform way.

The Celery module takes care of all near-real-time and deferred processing (such as for notifications and payouts).

Added integrations

Integrating Stripe made it possible to process transactions between users while also allowing the platform to collect its fee for services.

Amazon Simple Email Service (SES) is used to deliver email notifications.

Amazon Simple Storage Service (S3) is used to store files uploaded by users.

Mobile-first approach

Content-first. While a desktop-oriented website may get away with some unnecessary content, a mobile-first approach forces designers to preserve only the most valuable information and display it prominently.

Lightness and optimizations. Snow Sensei is very lightweight and optimized, as cellular connections might be slow for users. Our mobile-first approach ensures fast loading speeds regardless of internet connection quality.

Efficiency. The platform uses a minimum of resources to get information users are looking for, as mobile data tends to be rather expensive. Non-essential information data is loaded only on request.

Implemented features

When locating an instructor, Snow Sensei sorts by schedules so clients can find available instructors quickly, without having to scroll through dozens of incompatible offers.

Snow Sensei notifies clients and instructors about all important news and events so they don’t have to constantly refresh the website.

Snow Sensei has a prepayment system. Clients can schedule and pay for classes a month or more in advance. Instructors are only paid three days after a class has taken place, however. This is a precautionary measure to make sure that clients have time to lodge any complaints (for instance, if their instructor didn’t arrive, was intoxicated, or behaved inappropriately) so that Snow Sensei administrators can handle these complaints and make decisions about payment.

On the other hand, if a customer changes their mind and cancels a class, the amount refunded depends on when they cancel. The closer to the scheduled date, the less money is refunded upon cancellation.

Gallery

Gallery
Gallery
Gallery
Gallery
Gallery
Gallery

Technology Stack

Backend

Python
Python
Django
Django
Celery
Celery
Redis
Redis
Stripe
Stripe
PostgreSQL
PostgreSQL
A
Amazon S3
Amazon SES
Amazon SES

Frontend

H
HTML
Moment
Moment
CSS
CSS
JavaScript
JavaScript
Gulp
Gulp
S
Stylus
S
Stripe.js Reference
Rollup
Rollup
jQuery
jQuery

See more case studies

An application that delivers the freshest news to Saudi users

An application that delivers the freshest news to Saudi users

A news aggregator focused on the needs of the Saudi market

  • Android
  • iOS
  • NewsAggregator
  • News
A football news portal

A football news portal

A dedicated news portal that features recent events in the Saudi League Football Club

  • Football
  • RTL
  • News
  • SaudiArabia