Web & Mob Development

YOY: Ukrainian - it's cool!

Project
YOY is a mobile app for learning the Ukrainian language by primary school students whose native language is Hungarian or Romanian.

The main goal of the app is to help to teach (for teachers) and to learn (for schoolchildren) Ukrainian in educational institutions where the educational process is conducted in the language of a national minority.

The app has been created in partnership with a digital agency, "Friends of Brands," for the "Learning Together" program. This is a program of cooperation between Ukraine, Finland, and the EU aims to support the reform of the New Ukrainian School (NUSch).

Industry: Education
Location: Ukraine
C# ASP .Net back-end
ASP .Net back-end
AngularJS front-end
MongoDB replica set

Challenge

There were an unusual number of requirements and limitations crucial for project success. In addition to product owner inputs, we had also to consider the official education program, teachers' opinions, parents' focus group feedback, investor rules, etc. Many people were involved, so we had to carefully manage all received recommendations without jeopardizing the project scope, budget, and timeline.

Another challenge was the application design requirements because the end-users were schoolchildren. So, it had to be simple, logical, concise, and attractive to kids and, at the same time, not very resource-consuming to work fast, even on the old mobile devices.

One of the most critical requirements was a limited budget. And we didn't have a chance to make a mistake and the opportunity to rework the application in case of failure in our solution.

Solution

We used Flutter on Mobile to save on development efforts. It is an open-source framework by Google for building beautiful, natively compiled, multi-platform applications from a single codebase. As a result, we were able to implement a full set of features with 30% fewer efforts.
The structure of the application

This is how the application works. First, a simple step-by-step registration takes a user to the work area. The workspace consists of two main blocks. One is the progress and gamification block with a game character (you can choose Lulu or Lolo depending on who the child identifies themself with). The second is the levels block that includes subjects, exercises, tests, and more. Learning units offer different types of game mechanics: kids can be involved in listening, reading, and selecting an image or a text block. And only after the user completes a level a new one is unlocked. The fact that they can't skip around levels makes the learning process gradual and natural.
The technical solution

From the architectural perspective, the application was designed to allow further development with minimum reengineering efforts. To achieve that goal, we implemented:
  • Multilingual base in the application, with the ability to add new languages
  • 6 game mechanics allow you to combine and create an unlimited number of themes and levels for learning
  • Media gallery - enables you to reuse audio and images for different exercises
  • Flutter & Rive animations. Rive adds logic and interactivity with the State Machine
  • Offline mode, included in the application's architecture
Results
Thanks to well-thought-out technological solutions and our team's solid experience in Agile+Waterfall development, we have created an excellent application for Ukrainian schoolchildren. As a result, "Learning Together" and school leaders are starting to launch the Mobile application "ЙОЙ" in educational processes.

This project is of great social importance, and therefore we are delighted to have taken part in it.