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







Reliable communication, quick problem solving and critical thinking. That's what I like best about cooperating with FlowUp.
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.
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.
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.
And why is Equimo a successful project? We identify two main reasons.
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
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.

The process of obtaining training data consists of the following steps:
The user measures the training with their phone and tracking device.
After the training is measured, the data is sent to the cloud server of Monet+, where they're backed up.
After the successful backup, a notification about a new training is sent to our server via a webhook.
The training data is downloaded in CSV format.

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.
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.
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.
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 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 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.
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 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.
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?
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