Yoli - DO OK

YOLI - IoT Game

YOLI combines digital elements with board games to develop engaging and interactive smart games for children. The games are designed to be educational, with the goal for children to learn through play, and develop skills they can use in school. Because of YOLI’s passion for ed-tech, and belief in a brighter future for children, we have very much enjoyed our collaboration and the opportunity to contribute to their vision. By overcoming several challenges and project limitations, our team successfully developed several new features, including IoT-driven features for the existing product, as well as creating the backend system and infrastructure.

  • EdTech
  • IoT
  • Education
  • Games
  • Learning

Project details

ABOUT THE COMPANY & PRODUCT

Based on their passion for ed-tech and the idea of learning through play, Niklas Marschall and Anders Poulsen founded YOLI one year after they met at the Danish Tech Challenge Incubator 2018. The start-up is focused on creating smart educational games that combine digital elements with board games to facilitate learning through play without a screen. The games are interactive in nature, because the IoT board provides instant feedback to the players, allowing them to try multiple times to solve problems.

YOLI aims to engage children by offering games with different topics and themes that support various learning styles, including body movements, the senses, and imagination. While playing YOLI, children learn how to collaborate, tell stories, solve problems, and acquire the skills they need to be ready for school. YOLI works with kindergartens, and they genuinely believe that children are the future. As such, their goal is to contribute to the UN Sustainable Development Goal to “ensure inclusive and equitable quality education and promote lifelong learning opportunities for all.”

To find out more about Yoli, please click here.

CHALLENGE & SOLUTION

Our collaboration with Yoli started with leading a face-to-face workshop in our Wroclaw office, which was a welcome change after the COVID-19 lockdown. But most importantly, the workshop was one of the main factors contributing to the project’s success. It allowed us to understand the client’s product and vision, discuss the project’s scope, assumptions and risks, plan how to mitigate them, and prepare the development plan. Based on the outcomes of the workshop, we were able to evaluate what was the best approach, and what were the right skills for this project. A few months later, we kicked off the project with a team of five developers (Android, iOS, and three backend developers), a QA tester, a UX/UI designer, and the support of a business analyst and project manager.

There were two main goals of this project: (1) improving the app and adding new features to an already existing product, and (2) developing infrastructure & backend solutions which fit the client’s needs and requirements, and could be integrated with the existing product and tools.  To achieve the goals, firstly, the development team was setting the environment, doing research, and preparing for development. In the meanwhile, our UX/UI designer created designs and screens for mobile applications, which were presented to and approved by YOLI. We know from experience that the beginning of a project is a fragile time, and can impact the project as a whole. That is why we established Scrumban processes which fit the project goals and helped us to have an efficient & effective workflow. One of the main factors that contributed to a great start was clearly defined acceptance criteria and the definition of “done” for each user story created by our business analyst.

We were thrilled to collaborate and co-create with YOLI and see the project come to life. But as every project has its challenges, so did YOLI. The nature of the project is IoT, which means the Bluetooth functionality is crucial, and our team had to ensure that it worked as intended. At the same time, we were working on two significant functionalities: user account flow, and a process for accessing additional content. The main challenge from the mobile team’s perspective was to work with legacy code and understand it without access to the team responsible for creating it. Software engineers had to find a balance between preserving existing solutions that they were extending with new features and pieces that had to be refactored. Analysing and refactoring was a crucial step to successfully implementing the new functionalities. However, the backend team had a different challenge. They had to create the infrastructure and backend from scratch that integrates with the client’s existing solutions. The team had to research, pick the best possible tools for the given situation and, with the information we had, develop a robust and future-proofed solution. Overall, this project was about balancing between using existing solutions and developing new features, finding what would be efficient and providing quality while minimizing technical debt at the same time. Thanks to our skilled developers, we were able to successfully finalise the project by delivering the whole scope and change requests within the original estimates.

While managing our projects, we make sure to have a business analyst and a project manager on board. The business analyst ensures that the requirements are clear to the development team, manages the backlog, and approves changes with the client. From our perspective, their presence is crucial to the success of the project; it is always more expensive to change an already developed feature than to invest in ensuring that the requirements are well understood and agreed upon by all stakeholders. Meanwhile, the project manager focused on removing blockers for the team and validating the progress pace, and ensuring that we were aligned with the plan.

One of the main goals of the project management team was to create transparency for the client so that they know and understand the progress of the development at any point, stay informed about the challenges we face, and about how much effort and time it will take to resolve them. We always discover new information during the software development project lifecycle, and face challenges that are impossible to predict at the beginning. We strive to be agile, adapt, and support the development team to the best of our ability. That is why cooperation and communication with the client is an essential part of our work that can either make or break the project.

Our client’s representatives also came from a position of experience and understanding of the nature of software development projects. That fact contributed to successful communication, with spot-on questions and discussions at the right moments. Their straightforward approach, honesty, and efficient collaboration were critical ingredients of the project's success.

RESULTS

● Starting a long-term partnership with YOLI

● Refactoring and adding new features to Android and iOS mobile apps

● Developing infrastructure and backend solution

● Successful delivery of the whole scope and change requests within the original estimates.

● NPS 10/10

“DO OK has a fantastic startup understanding and that is why we love to work with them. As a small startup, we are very dependent on partners and DO OK deliver what they promise.”

- Niklas Marschall, co-founder

Technologies

Tools
  • Pulumi
  • Ansible
  • SQLAlchemy
Language
  • Python
  • Swift
  • Kotlin
Frameworks
  • FastAPI
  • UIKit
  • CoreBluetooth
  • Native Android Framework

Project Summary

Team size
  • Android Developer
  • iOS Developer
  • Senior Backend Developer
  • UI/UX Designer
  • QA Tester
  • Business Analyst
  • Project Manager
Project size
  • 2150 hours
Cookies

Our website has cookies. more info

EU Flag