Oct 27, 2022
No image
Development of a Big Data Solution for IoT Pet Trackers

Development of a Big Data Solution for IoT Pet Trackers

4-6 months
United States
view project
Service categories
Service Lines
IoT Development
Domain focus


The Customer wanted a big data solution that would allow the users to be always up-to-date about their pets’ locations, receive real-time notifications about critical events, as well as access the reports on their pet’s presence.The solution was to enable media content transfer (audio, video and photos) so that pet owners could speak to their pets or see where their pets were at a particular moment.As the Customer expected that the number of users would be constantly growing, the solution was to be easily scalable to store and process an increasing amount of data.


To ensure that the solution is highly scalable, ScienceSoft’s big data team delivered it in the cloud and made Apache Kafka, Apache Spark and MongoDB its core.How the solution works:Multiple GPS-trackers transmit real-time data about pet location, as well as about events (e.g., low battery, leaving a safe territory, etc.) to the message broker using the MQTT protocol. The protocol was chosen because it helps to ensure a device-friendly interface and save mobile phone battery life.A stream data processor based on Apache Kafka streams data from multiple MQTT topics, processes it in real time and checks data quality. Its component, Kafka Streams, makes push-notifications possible and ensures a safe data transfer.


The Customer received an easily scalable big data solution that allows processing 30,000+ events per second from 1 million devices. As a result, the users can track their pet’s location in real time, as well as send and receive photos, videos and voice messages. If a critical event happens (e.g., a pet crossed a geo fence set by the pet owner or the pet’s wearable tracker turned “out of communication,” etc.), the user receives push-notifications. Pet owners can also access hourly, weekly or monthly reports set automatically, or manually tune the reporting period, if needed.