Intelligent Health Ltd. is a well-established public benefit organisation that arranges street games in the United Kingdom. Together, we’ve created a mobile app to engage people in activities more, and they needed a tool to manage these games and users more effectively.
Their main aim was to make the street games planning process centralised and digital, as they relied on multiple and dispersed files beforehand. The client needed to have one source of all information about users and games and be able to manage it easily.
We had to build an ultra-secure backend solution that would handle thousands of users playing games at the same time, assign the exact number of points and verify whether those were collected according to the rules (see below).
Intelligent Health required for the system to be serverless and future-proof. The client needed to build a system that will work flawlessly for many years, but also be stable, secure and scalable.
Scrum Master
Tech Lead
2 Full Stack Developers
QA Engineer
01
Creation and management of games with a map functionality allowing to define and set up checking points locations.
02
Creating and management of users and groups, with various permissions level and access control feature.
03
A dashboard with details about games: the number of users, games popularity, points collected, locations visited, etc.
04
For flawless points assigning from mobile app and physical devices, preventing driving by car.
Apart from wireframes that were evolving while we were defining the client’s needs in detail, we had no designs to rely on while building the admin dashboard. The system was built and designed by developers. They employed the MaterialUI component library to achieve a stylistic order and user-friendly design, all while avoiding significant investments in custom design. The analytical part was designed by the client's designer.
We began the project by understanding the client’s business needs. We needed to define what functionality they needed and put that into wireframes. There was a clear view of what we wanted to achieve, but we had to define the best way to do that and how to implement all the needed functionalities.
To make that happen, we prevented multiple check-ins for one checking point and managed the potential issues that might be caused by discharged devices.
Those devices are powered with batteries so they could be discharged or physically damaged. When such a device switches on, it starts sending multiple signals at once so we still need to make sure that people will gain the right amount of points. The points should not be lost or over-assigned.
Image: "Beat the Street" button, Queen's Quay, Belfast (September 2016) by Albert Bridge
Users should not be able to collect points for driving a car so we monitor the time periods in which they reach the next checking points and react when that happens too soon.
At first, we chose AWS Amplify to speed up the development. However, the system was highly used - must have handled thousands of users simultaneously in a single game! The technology turned out to be limitating at this point.
Therefore, to provide a smooth user experience, we switched to AWS CDK and overhauled the databadse structure. The goal was to enhance the speed and scalability. It was necessary for data retrieval.
As a result, we built an admin dashboard and the backend solution for street games management from scratch. The system allows administrators to manage users and user groups and their physical cards. The backend is responsible for assigning the right amount of points to each user and preventing from collecting them users who are driving a car.
Richard Ganpatsingh
CEO, IntelligentHealth
(...) Working with them has been a pleasure. The working relationship and level of trust we've built up are outstanding. Moreover, the team's ethical approach to their business, honesty, and transparency are second to none. TeaCode has been super responsive to what we want to do and has a vested interest in our goals; they've very quickly become part of our team.
As the mobile app developed, we introduced collectible gems, requiring additional points-gathering logic.
We implemented a map solution for easier management, allowing managers to place check points and monitor game stats, participation, and popular locations.
To measure how street games affect participants' health, we integrated a survey system for pre- and post-game data collection and effectiveness assessment.
Realizing the system's potential beyond Intelligent Health, we enabled third-party access to the BTS system, allowing other companies to create their own gamified entertainment.
Privacy was crucial; we only store necessary data and anonymize unused information. Complying with GDPR, we implemented role-based access management to ensure users see only authorized data, essential for use by governmental institutions.
Currently, we’re working on a comprehensive UI-friendly analytical section where Intelligent Health and its partners can observe game stats, including how much they walk and how often they take part in games.
Let's win your market together!
Contact us to discuss your app idea and possibilities. We’ll advise you on the best solution and estimate the project. If you have any questions – we’ll provide you with answers.
Talk with Mark,
our Technical Solutions Manager
Write a message
mark.cameron@teacode.io