Baby Monitor app

the Project

Baby Monitor app can be used as a real baby monitor with live video streaming within the same Wi-Fi network. In all other networks, the user can take snapshots or photos of his/her child.


The user has to install the app in two iOS devices (iPhone, iPod, iPad, starting from iOS6.0). The first device acts as a sender in the baby’s room. The user then takes the other device with him/her as a receiver.


If the user’s child cries, he/she will first hear a warning beep. Directly afterwards, the app transmits all sounds made in the child’s room. Thanks to the two-way communication, the user is able to talk to the child, and to take a picture to check if everything is ok.


The app works on all data networks (Edge, 3G, 4G, and Wi-Fi). It is useable worldwide – not just in the Wi-Fi area.


We participated in the development of this application in 2012. Five years later, in 2017, the company contacted us with a request to improve the product.


The customer gave us the following tasks:

  • to add a new feature – multiple users. This feature enables several users with the role of Parent to connect to another device with the role Child and observe audio and video streaming;
  • to improve UI and to make it more up-to-date;
  • to improve the application’s stability and speed;
  • to speed up the rerouting of the devices when changing the role;
  • to reduce the time of Parent device receiving and reaction to the alert from the Child device;
  • to monitor the controller logic of devices and management between them, by means of the MQTT messaging (before the MumbleKit was used);
  • to make numerous changes in the codebase with the result that the previous functioning performs the same way as before, without changes.


iOS developers, a designer and a tester participated in the project on behalf of *instinctools. We have implemented the following solutions in the course of the development:

  • We have implemented a new protocol MQTT (Message Queue Telemetry Transport). We first implemented PoC (proof of concept) to prove the reasonableness of its implementation. As a result, we realized that the solution works.
  • We then implemented the protocol for the application itself. This protocol is often used for operation with IoT (Internet of Things). It enables us to implement the feature multiple users: when several Parent devices can connect to the Child device (the previous application enabled the connection only for one Child and one Parent).
  • The device state and the operations between devices are also synchronized by means of the protocol. The implementation of the MQTT server and the ping configuration for device tracing, enabled the more rapid notification of connected devices about the loss of connection with one of them.
  • Our team have refactored the connection framework and organized the coordination between servers. Only one server (Mumble Kit) was used previously, two servers - Mumble Kit and MQTT are used now.
  • We have supplied QR for the more convenient connection of devices with each other (the code of the devices was primarily typed by hand).
  • We have also modified the design and made it more up-to date.

Key features

For the user
Modern and convenient application UI
The ability of multiple connections of Parent devices to a Child device
Faster reaction to the notifications from the Child device
r (1)
Faster and more stable switching between the roles
r (1)
Faster and more stable switching between the roles
w (1)
Notification when the Internet access has been lost PE (provider edge), if the device has not lost the connection
Auto Reconnect when the Internet access is being restored PE
For the system
b (1)
Due to the implementation of the new protocol MQTT, the application stability has been improved
c (1)
Several code parts have been refactored
The controller logic and the event processing are rewritten
s (2)
The synchronization logic of the device state has been supplied
s (2)
The synchronization logic of the device state has been supplied


Do you have a similar project idea?

Contact us — and get a project cost estimate for free!