Alpify case study

Alpify is a mobile and web application that is based on geolocation of users to improve their safety in case of outdoor activities, heart attack, gender violence, robbery or any other kind of accident. It quickly connects people that downloaded the mobile app on their phone with rescue teams in case of an emergency. In 2017 they raised €1M and have big plans to change the industry.

 

Alpify situation

Alpify already had users and was aiming for more. In general, the team needed our help in terms of Architecture for various reasons. Mainly, the platform encountered problems regarding its performance, the technology used (Node.js) was quite young which implied it wasn’t stable enough, and finally, there were also problems regarding the scalability of the code.

 

Alpify software architecture goals

Alpify wanted to reach 1M users. Marketing campaigns were already planned and the application had to be ready before appearing on TV. As Alpify is a critical application, we had to keep in mind that the product has to be highly available and reliable once launched, we couldn’t afford any type of error. One of the goals was to keep the costs of resources low while using best practices and building a good architecture.The idea was to implement, in collaboration with the team, a reliable architecture based upon domain driven design modelling, detailed performance tests, continuous integration and test driven development. And the requirements of such a software are almost always the same; availability, performance and scalability.

 

Alpify challenges

  • Platform engineering & performance with Node.js
    We had the challenge of achieving high performance with high availability while using a young technology that at that time was not completely polished. With that, we would get a platform that would be giving service without interruptions.
  • Functional tests
    Due to the complexity of the flow of a typical user of the application, creating the functional automated tests was quite a challenge and exhaustive work. Alpify team with our support was able to cover the core transactions of the app, validating its correct automated functioning.
  • Push notifications
    A push notification system was created, managing the targeted delivery to the Android, iOS and web operating systems.

What we did

We as Alpify and Apiumhub team:

  • Prepared the architecture to have a scalable platform putting the emphasis on performance
  • Added good practices of software development
  • Ensured that the platform would be totally reliable
  • To reach high availability, developed a fail-safe system with resilience. Briefly said, in case of issues in the infrastructure, the system ensures availability

Results

  • The app in production is completely optimised for performance
  • The team is trained to apply best practices to daily development
  • A rigorous application of the scientific method is used to solve any kind of issues

Technologies used

Android, React.js & Node.js, Redis, MongoDB, RabbitMQ, Kibana & ElasticSearch

Ask us for a personalised presentation