KidSecure is a parental control mobile application that helps parents understand and limit their children’s mobile usage
Introduction
Post-Millennial Trend Today-
With the world leaning more and more towards the mobile-first lifestyle, children of age group 7–18 are allowed to have access to mobile phones which changes the way children are brought up. Varied reasons hold the cause for this- be it for educational purposes, playing games, casual internet surfing, or calling friends and relatives. Kids these days know how to have their way on the smartphones. Studies suggest that social media surfing, watching online videos, and using search engines are ranked as the top 3 activities done on smartphones.
Why did we build KidSecure?
While parents may not have full control over allowing their kids to use a smartphone (giving in to the societal pressure of the necessity for kids to access smartphones), parents can, however, keep an eye on what their kids use the smartphone for without affecting their privacy. Thus we built KidSecure– A mobile application to monitor your kids’ phone activities and their geographic whereabouts.
About KidSecure
What does KidSecure primarily do?
KidSecure is a mobile application, running on both, Android and iOS smartphones which allows parents to protect kids online as well as offline with features like safe searching, screen time scheduling, and geofencing.
KidSecure enables parents to restrict malicious Internet and YouTube searches as well as digitally set up time limits for accessing smartphones.
Geofencing is another feature that helps parents rest assured that their kids are always roaming inside allowed geographic locations like the school, home, a friend’s home, or parks.
What KidSecure offers-
- Role-based app flavors- Child app and Parent app
KidSecure comes in 2 forms- The child app (installed on the child’s mobile phone) which sends data about the child’s phone activities to the parent’s phone and the Parent app (installed on the parent’s mobile phone) which is used to get alerts about the child phone’s activities and setting different parameters about how and when the child can access certain apps or browse the Internet.
2. Safe Internet and YouTube browsing
KidSecure lets parents define which harmful words (for example- violence, alcohol, porn, weapons, etc) to block from all searches from browsers and YouTube alike. Parents can also block access to websites.
Internet browsing restrictions on a child device
3. Block apps
KidSecure allows parents to select which apps or category of apps the child is restricted to access and can also limit access timings for each app individually.
4. Manage child screen timing and schedules
Parents can select when during the day (for example- 16:00–16:30) or for how many hours/minutes (for example- 30 minutes) the child can access their phone. Otherwise, the device use is restricted.
5. Location Tracking
Not only do the parents get real-time updates about the exact location of their child, but they can also set allowed locations for their children. If a child goes outside the predefined allowed area, the parent will immediately be notified on the parent app.
6. Battery alerts
Parents can also get real-time updates about the battery level of their child’s phone. So that parents can be warned when their child’s phone needs charging or that child’s phone has lost battery.
7. Real-time child phone screenshot
Parents can check the status of a child’s mobile usage by simply clicking a button to capture a screenshot of the child’s phone at that particular moment and view the same anytime.
8. Device usage reports
Parents can select a day and check which apps the child used that day and for how long.
9. Real-time notification alerts to parents
Parents get real-time notification alerts about their child’s restricted mobile activities whenever a child tries to do the following-
- Tries to access mobile phone outside the allowed time limit
- Tries to access a forbidden app or game
- Tries to search any of the forbidden words on a browser or YouTube or searches a forbidden website
- Tries to go outside allowed geographic location
- Tries to uninstall the app
10. 2-step authentication
The parent app is protected with a 2-step authentication. First, login/register is enabled via OTP sent to a mobile number that the parent sets up, and secondly, to open the parent app to check the child’s phone status or change other child phone settings, the app needs a 4-digit access code which the parent creates at the time of registration.
11. Ability to switch off any type of monitoring at any time
Parents can switch off monitoring for a while and then switch it on again without having to configure all the settings again.
12. Multiple child support
Parents can set up multiple children profiles and set the child’s phone monitoring from a single app.
13. In-built password manager for parents
The parent app also provides an in-built password manager which helps them to store usernames and passwords for their other accounts; safely stored in an encrypted format.
Building KidSecure mobile app for iOS and Android devices
Deciding the tech stack
What was challenging for us was the many features and embedding two variants of the app from a single app. Also, we had to deliver the same app for iOS and Android devices.
Language Platform
Contemplating a lot on how to build such a huge app in a very short time and exploring many cross-platform languages and since our team was well-versed with Java, Kotlin, material designing, and Swift, we finally decided using Flutter was our best bet, with Dart being on the same lines as Java and Kotlin.
Database
KidSecure primarily works on real-time updates. Managing a huge backend to query parent settings to quickly process on the child app was one of the major concerns for us. After comparing various databases and calculating API creation, integration, and maintenance overhead, Firebase’s Cloud Firestore was a perfect match for us. It allowed us to listen to any updates in child or parent apps in real time and helped us to write complex queries quickly.
User Authentication
To make the app fully secure and make sure the parental controls in the app are not misused, we had to give extra thought to how we would manage user authentication and secure login. Again, Firebase’s Phone Authentication sounded to be a good match for this requirement.
Architecture
For Architecture, we decided to use the bloc pattern. It enabled us to construct a seamless structure to design a subscription-based model to listen to all real-time changes. We have had some experience with this library when it came to managing dynamic flow in our app. Check this link to understand how we implemented multiple states with blocs.
The Challenges
Talking about real-time updates, runtime challenges are inevitable for any software project. And like any other project, of course, there were many challenges while developing the app; even after giving a lot of thought about the if’s and do’s and don’ts and how’s beforehand. For details on how we addressed the many challenges in Flutter and its plugins, watch out for our next blog in this series coming soon.
To Sum Up
KidSecure offers manifold options for the best parental control over your child’s safe phone usage and at the same time allows your child to access mobile phones for educational and extra-curricular purposes in a seamless way.
Have an idea for the app? Contact us