Tute - the Complete Rewrite of the Online Learning Platform
Tute is a British online learning company that recognized the potential of technology in education long before the world was forced to do it in 2019. Their vision is to create a world where online learning enables any child, anywhere to achieve their potential. Tute uses technology to connect real students with real teachers enabling genuine human connection. With its diverse offer, Tute makes sure everyone can experience how digital learning can be transformational in education.
Tute Platform Rewrite - Scaling Successs
As a software development company, we are thrilled when we can become a part of the project that truly matters. That’s why we were super excited to become a technical partner of Tute.
The stories behind the need for major rewrites are not usually optimistic. But Tute was very different. They needed a new platform because of their massive success. At some point, with the growing number of users, it became clear to everyone that the original software solution Tute was using was no longer enough. They needed something new. Something faster, prettier, but most of all, something scalable that can match their success.
Provide the technology revolutionizing education? Of course, we took on this challenge.
The EdTech Journey
When we started the project, we knew two things: we were entering the EdTech industry, and we needed to focus on scalability. The client had full confidence in us regarding the choice of technologies and frameworks. Since we were building the new solution from scratch and there was no legacy we had to consider, we started the project the proper way: by learning what the client needed.
Discovery
Every IT project starting from scratch needs to start by getting a thorough understanding of the client’s needs. In the case of Tute our job was a bit easier because we had the software that was no longer serving those needs. Hence the most critical pain points were served on the silver platter. We could take the time to think about the extras we can add from our side to make Tute even more functional. Apart from core features, we were looking at ways we could simplify the work of teachers and coordinators. Our main discoveries included:- Scalability - Tute’s main pain point
- More user-friendly interface – to streamline Tute's internal processes
- Data usage optimization - to make Tute available to everyone, including customers
- Mobile app for students - to bring Tute’s experience to mobile devices
- The difference between “reads” and “writes” on the platform - an interesting challenge
- CSV processing - a little cherry on the top from us
EdTech - Reading and Writing Challenge
While doing research, we’ve noticed a vast difference between the need to create data on the platform and retrieving that information.
Lessons and programs are only crafted and added by coordinators from time to time. But the students access those resources regularly. Especially during the school year.
Simply put, the platform experiences many more “reads” than “writes.”
We addressed this using the CQRS - Command Query Responsibility Separation approach to architecture. It gave us the best performance for retrieving data from the platform allowing students to learn whenever they feel like it.
Research
We don’t like charging clients for things that are readily available. We do our best to balance the development cost and time. For this reason, after we knew what to look for, we started researching existing solutions. We explored video conferencing tools and frameworks that would allow us to work faster.
We started by taking a closer look at BigBlueButton, which Tute already used. Then we proceed to examine tools like LearnCube, WizIQ, and Google Learning.
At first sight, they all seemed to support most of the Tute’s requirements. But before making the final decision, we had to consider factors like the cost of operations and the ability to scale as needed. To our surprise, BigBlueButton won this contest. Yet knowing that our client is experiencing issues with BBB, we had to figure out how to fix them.
Scalability
Lack of scalability was the primary reason Tute needed a new platform. That’s why every solution we chose had to be ready to grow. The EdTech industry is thriving, and we wanted to make sure the new Tute software was ready for its success.
Each industry has its unique features. When it comes to EdTech and scalability such a thing is that the number of users changes throughout the year as schools enter holidays, half-term breaks, etc.
Hence the traffic on the platform can be planned ahead. There is no need to implement autoscaling. It doesn’t change the fact that the whole codebase had to be ready for variable load.
To address this, we placed the API servers behind the typical load balancer that allowed us to spin up additional nodes to support increasing load when needed.
With BigBlueButton software the lesson delivery part should be a closed topic. In theory. It still needed to work seamlessly with the rest of the platform. Not to mention managing the increasing load coming with the Tute’s success.
Online conferencing is much more resource-heavy than just handling data in and out. We were sure there wasn’t a BBB server strong enough to support all Tute’s lessons. And it’s not as easy to ‘scale’ such a solution as it is with HTTP APIs. Thankfully while doing our research, we’ve found tools and ideas that allowed us to expand the Tute’s online conferencing part.
And all that for a fraction of the costs needed to support the old platform.
Optimization
At CodeClusive, we always work according to clean code good practices, but this project required us to make an extra effort. Especially in view of the fact that Tute utilizes a significant amount of data.
Example:
Searching a teacher for a given lesson.Every teacher has a score taking into account several factors:
- Is this lesson similar to the ones conducted by a given teacher?
- Are they qualified to teach a given subject?
- How many hours did they work this month?
- Will this lesson make them exceed the limit of the lessons they can perform within a week?
- Will they have time for a lunch break (teachers can conduct more than five lessons in a row)?
All this in an environment that adds a few hundred new lessons every week.
Our job was to balance the time it takes to perform such a search and the memory usage. We achieved it by carefully choosing data models. We decided on simplified but performant data types instead of developer-friendly models to tame memory usage. Also, we carefully selected the algorithms, always bearing in mind our goal - optimization.
That, with the support of different levels of caching, allowed us to handle hundreds of students accessing their lessons and related resources.
Flutter Mobile App Development
Mobile app for students had to be intuitive, fast, and provide exceptional UX experience. We understand students will use any excuse not to participate in a lesson. Hence our app needed to be flawless. That’s why we decided to use Flutter. It allowed us to speed up the development process while maintaining the highest standards.
The Tute mobile app lets students participate in video classes, receive assignments, and contact teachers and peers directly via built-in messaging functionality. It’s a comprehensive classroom-in-your-pocket solution.
CSV Processing
During discovery, we identified a problem that wasn’t crucial to the platform’s performance but was annoying for the users. Tute works a lot with CSV files. They are super helpful for transferring data between different client systems but are not exactly user-friendly. We found libraries that parse and visualize CSV content in a readable way, automatically detecting records that need attention. We used it when building Tute’s back-office administration panel.
No more frustration caused by unreadable CSVs!
We treated it as a cherry on top of the new platform and a way of showing we hear and care for our clients.
The Outcome
Tute was founded in 2012 when online education was still a niche. However, its success has outgrown its infrastructure. With the solution delivered by CodeClusive, Tute can focus on maintaining growth and delivering exceptional value to students, teachers, parents, and educational institutions.
Tute is now cooperating with hundreds of educational institutions across the UK. We hope that our solution will help them expand their network. And with 89% of Tute students willing to recommend it, we know there is still a lot of growth potential.