Project Screenshot

YoTutors

An education platform where students can book online lessons with tutors and purchase courses

  • Idea

    Our client, Heba Alhosainy, came to Steelkiwi with an idea to create an online education platform. She had researched existing platforms and realized they either allowed students to talk with a tutor one-on-one or buy courses. So Heba decided to create a platform for offline as well as online education where students could both purchase courses and book online lessons with tutors.

    Heba asked Steelkiwi team to analyze what features were necessary for such an app, identify possible gaps in the business logic, create a design, and build the website itself. 

  • Analysis

    According to Statista, the global online education market is forecasted to exceed $243 billion by 2022, whereas in 2016, it amounted to only $46.67 billion. With online education platforms, tutors can share their expertise and create courses for the whole world. Students, in turn, can study comfortably and affordably. They can also access courses from famous universities and tutors.

    Employers that invest in educating their staff see 218% greater income per employee and 24% higher profit margins than those that don’t, according to the Darlo Group. Online education also allows businesses to reduce costs on lecturers, travel, hotels, and equipment.

    People want to learn new things not only for work but also for hobbies and general competence. Thus, there’s demand for niche and global platforms such as YoTutors.

  • Solution

    We built an online platform where students can book online lessons with tutors and buy courses. To find the perfect tutor, students can use filters such as subject, price, availability, location, and gender. YoTutors is designed for tutors too. To get started, they sign up as tutors and provide details including a brief introduction about themselves, experience, communication channel, introduction video, subject/subjects that they teach, resume, and schedule.

User roles

icon
Administrator

Administrators can manage users and payments for tutors and resolve conflicts.

icon
Tutors

Tutors can create courses, teach subjects, and be paid for their work.

icon
Students

Students can search for tutors and courses, buy courses, book lessons, and send messages to tutors.

icon
Visitors

Visitors can only search for tutors and courses.

Results

Duration:
July 2018 – July 2019
Team:
Backend - 1 Frontend - 1 UI/UX - 1 QA - 1 PM - 1
Crafted the user experience

Before starting development, we went over the project’s business logic, examined the documents our client already had, researched the competition, and identified the best functionality offered by competitors to include in our client’s app. We then drew pages and went through all sections of the website using the User Flows approach, meaning we focused on what users need to get done on YoTutors (for example, purchasing a course) and how to deliver that in the most effective way. The User Flows approach helped us see whether there were any logical mistakes. 

For lessons, our client decided not to make video calls directly via the platform but instead to use existing video chat apps like Skype, Hangouts, and Zoom. For the first version of the YoTutors website, implementing video call functionality would have taken too much development time and increased the budget.
 

Created the user interface

We created the skeleton of the website, worked with the navigation, and made the user interface a reality with the help of forms, colors, fonts, and other visual elements approved by the client. 

Our client suggested that we use dark blue as the main color and a brave orange for emphasis. We used these colors and created an easy-to-use, modern, and intuitive product that conveys the essence and value of the product. The image on the main page represents the diversity of subjects that can be explored on YoTutors.
 

Created the logo

We created the logo in close cooperation with our client. The overall concept was to combine the two main letters in YoTutors: Y and T. We offered different options for the logo and background colors and selected the font for the YoTutors name. Our client reviewed every option we offered and approved the final design.

Developed the website

We created the YoTutors website to support online and offline education in various subjects. Students can book online one-on-one lessons with tutors, buy lesson packages for a particular tutor, and buy courses (which provide offline access). Tutors can conduct lessons and upload courses to the YoTutors platform. 
 

Challenges

Integrating the Braintree SDK into PayPal
Our client wanted to make payments through PayPal so users could pay from their YoTutors accounts without being redirected to the website of a payment gateway. 

PayPal doesn’t allow you to add your own payment form on not a PayPal site. Braintree does allow you to integrate your own payment form on your own site so that users can pay without being redirected. This works if a customer pays one service provider directly. But the YoTutors platform is a marketplace, as lessons and courses are provided by different tutors.

Braintree started providing functionality for such use cases not so long ago. Yet there were several barriers to implementing Braintree Marketplace. First, Braintree Marketplace isn’t available everywhere, and the YoTutors platforms aimed to function all over the world. Secondly, to use Braintree Marketplace, you have to contact the Braintree sales team and introduce your project – and the project has to meet several requirements. For example, it should already have been working for several months, be actively making payments to service providers, and have a monthly turnover of over $10,000. Our client’s startup didn’t meet these requirements. 
In the end, we decided to implement card payments using PayPal with no redirecting. 

Synchronizing Google calendar with the YoTutors calendar
We encountered a problem when connecting to Google Calendar and trying to synchronize the YoTutors calendar with it. An API didn’t return the code necessary to authorize and connect to Google Calendar. To solve this, we used react-google-login, a third-party library.

Choosing an HTML editor to edit course content
We reviewed several editors and opted for Draft.js, a flexible editor. 

Time zones
Working with time zones is always a challenge. In our case, the problem was with displaying the list of tutors with their schedules in the time zone of an authorized user or the time zone of the browser of an unauthorized user. To solve this issue, we used the pytz Python library.

Implemented features

Tutors can add images, introductory videos, brief summaries, skills, and languages  of instruction to their profiles. They can also indicate their hourly rate and schedule (with available dates and times). In addition, the profile is where tutors show their certificates, resumes, education, and other credentials. 

On a tutor’s page, users can see statistics on the number of lessons the tutor has conducted, how many times the tutor’s courses have been purchased, the number of profile views, percentage of returning students, and ratings and reviews from students.
 

Students can upload a profile image and indicate a preferred communication channels, and their time zone. They can track their lessons, receive important notifications, and view the date, time, status, and price for each lesson they’ve booked. Additionally, they can track statistics on their learning and their progress for each course. Also, students can complain about a lesson.

Students can filter tutors and courses by subject, price, and language. Students can also sort the results by ratings and reviews as well as price.

Students can choose lessons or courses they’re interested in and find a tutor at a certain price per hour using filters. They can also pay for lessons and courses and schedule them for a convenient time. 

Students can choose courses and pay for them right on the platform. Purchased courses are available for students even if a tutor deletes them.

To make payments on YoTutors, students have to enter their payment card data and confirm the payment.

Once students pay for a lesson, they get access to a chat with the tutor.

Students can rate tutors using a five-star system and leave feedback once they’ve purchased a course or had an online lesson.

Our client plans to promote YoTutors as an educational platform for users all around the globe. However, all transactions are processed in US dollars. To make the system convenient, we added a feature to display the approximate cost of a lesson or course in a user’s local currency, as determined by the user’s IP address.

Technology Stack

Python icon
Python
React icon
React
Django icon
Django
PostgreSQL icon
PostgreSQL
Redux icon
Redux
Paypal icon
Paypal

Client's feedback

Overall, they were very organized and had good project managers and backend developers.

Heba Alhosainy
Heba Alhosainy, CTO of YoTutors