This is only a preview (not available in production).

Equimo: training horses using Cloud

Reliable communication, quick problem solving and critical thinking. That's what I like best about cooperating with FlowUp.

Jiří KimlJiří KimlBusiness Solution Analyst | Monet+

About Equimo

Equimo is a web application for horse training and management that is based on processing data from IoT devices and their visualisation. We migrated it to the Google Cloud in order to prepare it for any number of users and data. Using modern technology and data pipelines, we provide a detailed analysis presented in an intuitive user interface

Visualizing horses' performance 

  • Before each training, the rider places a small IoT device containing a GPS, gyroscope, accelerometer or thermometer on the back of his horse.

  • During the whole training, the device records data concerning the horse’s speed, tilt, jump height and many other attributes. To start and stop the data recording, the rider uses an iOS or Android application.

  • After the end of the training, raw data is sent to the Monet+ cloud infrastructure to be pre-processed and then sent on Equimo’s backend.

  • Aggregated data is processed again here and then visualised with detailed graphs on the front end. This gives the users a clear but detailed view of the horse’s fitness, health and potential divergences in its performance.

Agile development

We had a dedicated SCRUM team in charge of the project. That means we followed the agile approach, delivering the project in the short iterations (sprints). Thanks to agile, we were able to quickly react to changes in our customer’s priorities and include them in the further development process.

Excellent data pipeline & migration to Cloud

And why is Equimo a successful project? We identify two main reasons.

1) Migration to Cloud

  • In the past, the processing of the data was carried out on-premise (on physical servers), which necessitated continuously managing and taking care of the servers.

  • Since we migrated Equimo to Google Cloud, the web application is fully-managed (Kubernetes), able to scale automatically and is therefore ready to handle an increasing number of users as well as an increasing variety of data potentially required by the training teams. 

  • You can read more about the benefits of the Cloud regarding scaling in our article HERE

2) Data pipeline

  • Our team also brought great value to the project by implementing a data pipeline and subsequent visualisation of accumulated data.

  • At the beginning of the pipeline, there is a large amount of raw data, which an ordinary user is unable to read. At its end, the application offers advanced visualisations and clear graphs making it a valuable tool for analyzing a horse’s performance, as well as helping with further training plans.

data pipeline

Technical solution

Obtaining training data (Google-unrelated)

The process of obtaining training data consists of the following steps:

  1. The user measures the training with their phone and tracking device.

  2. After the training is measured, the data is sent to the cloud server of Monet+, where they're backed up

  3. After the successful backup, a notification about a new training is sent to our server via a webhook

  4. The training data is downloaded in CSV format.

Aggregating training data (Google-unrelated)

Equimo: Traning Data Aggregation Graph
Equimo: Traning Data Aggregation Graph

Each training contains thousands of data points. These are aggregated using a unique algorithm, which produces the statistical data along with the reduced number of data points, making the results easy to analyze in the graphs.

Sample horse assignment for new users

Using Pub/Sub (publisher and subscriber), we can asynchronously assign sample horses to newly registered users. The user then has their Dashboard filled with the sample training data and can explore the dataset to try different features from day one.

Monitoring using Stack Driver

Stackdriver offers multiple features, out of which we use Monitoring, Error Reporting and Logging. With Logging and Error Reporting we analyze behaviour on the application layer. Monitoring helps us find problems that are not necessarily connected with the application. 

Using Stackdriver features improves reaction time to errors and failures of our system.

CI/CD pipeline and Cloud Build

Our CI/CD is built on Cloud Build and automated triggers, which provide us with automated builds and deployment for different environments. It offers fast delivery of new versions of the software.

Kubernetes

Kubernetes microservice architecture goes hand in hand with the CI/CD pipeline to deliver new versions of software faster. We use Cloud Build, Container Registry and Source Repositories to create an automated pipeline which provides us with builds and deployment across different environments.

BigQuery and marketing data

BigQuery is used to store data relevant for marketing purposes. It helps us to observe how people use the platform and whether the platform is rising in popularity. Obtained data is stored in Google Sheets, exported to the GSuite directory and sent by email to the marketing department.

Firebase

We use Firebase auth to securely store user information and to provide them with the most suitable way to authenticate. It also provides us with SSL certificates for all of our domains to be served securely.

Global Load Balancer

Global Load Balancer is used to distribute requests from users across the regions. This principle helps us keep better availability and lower latency for requests. In case one zone of the region drops (e.g. during a storm), other zones will take care of the load. 

Statistics & technology

  • Angular
  • Golang
  • CI/CD
  • StackDriver
  • Kubernetes
  • BigQuery
  • Firebase
  • Google Cloud
2.2MB
of raw data per training
26
jumps per training
15.7
received trainings per day
2.6km
run in one training
169k+
lines of code

Summary

Equimo is a platform for training horses using IoT devices, Cloud, data pipelines and their visualisations. Thanks to our data pipeline implementation, it provides the user with uniquely precise training data, clear graphs and user-friendly visualizations. Thanks to migrating to Google Cloud Platform, we've prepared it for any number of users or data. Training your horse has never been easier!

Can you feel the flow?

Drop us a note

hello@flowup.cz

Contact us using this form and we'll answer you via email ASAP. If you leave us your number in the message, we'll call you back. Looking forward to hearing from you!

We're based in Brno

Nové sady 988/2

Brno

602 00

Czech Republic