How we helped Kinderlime build a better child care platform
Kinderlime is a child care app & management platform that simplifies all child care business operations, so that users can focus on what matters: the children. They offer a wide range of child care management solutions, including contactless check-in/out, integrated tuition collection, business management tools, after-school program software, staff management, and much more. Kinderlime is the No. 1 name in child care software and is used by more than 30,000 child care providers across the U.S. They offer their services through a web app, which provides the main functionality for both teachers and parents, as well as iOS/Android mobile applications, with functionality for parents.
Schools and child care facilities have probably been one of the least software-penetrated areas for a long time, at least, before Kinderlime entered the game. Kinderlime has recently become a part of Procare’s brand and operates as a whole with them. In mid-2017, Nalin Senthamil, the company CTO and co-founder, reached out to Evrone for child care software development assistance.
The client’s team was initially distributed and located in San Jose, CA and India, and they were already efficient at running fully remote software development. We discussed the details with Nalin, and it turned out that they were redesigning their current Rails app architecture and had a wide variety of apps that needed to be developed for both web and mobile platforms.
The challenge they had was splitting the monolithic Rails application into separate backend and frontend projects, using an API gateway in a microservices architecture, and then using the same API for mobile clients. They needed our help with the frontend of their application, and came prepared with technical requirements and wireframe design, explaining how they envisioned each screen of the application. We were an excellent fit for the project, since we have quite a bit of experience with similar Rails-based solutions and splitting monolithic Rails applications.
Working with the API
As a business gets bigger, it requires more functionalities. So, you can’t help but add new models to the existing Rails application, and sometimes it becomes a monolith. When you are facing a monolithic application that has become unmaintainable and difficult to deploy, you need to learn some new ways to manage it. This usually involves splitting the monolithic Rails application into microservices. That was the case with our client. They had a frontend project separated from the backend, and our job at that point was to focus on it and the frontend API gateway.
To work with the API, we wrote a library on top of Redux and Axios. It uses a scheme that describes the paths to API endpoints and can describe parameters, functions for transforming the request and response, and the parameters of the reducer. Using this data, the library generates functions for sending requests and processing responses, reducers for Redux, and events to which the reducer responds. Without it, we would be rewriting the code hundreds of times to describe the request.
Leads CRM System
As a lot of users, from teachers, parents, and children to entire schools and educational facilities, are accessing the Kinderlime platform, the client wanted to add several features that would improve interactions and facilitate using the service. The client wanted to realize the functionality of a Leads CRM System that includes the public registration form that schools can create, link to third-party resources, and use to generate leads.
We developed the online registration form builder from scratch. There are several stages in the form, and in each of them, there are both basic fields and custom fields that the admin can create. Teachers can edit these fields in the school admin panel and create custom forms for parents to use when registering their children.
Apart from the online form builder, we realized Leads Communication that allows sending email / SMS messages to leads. The system can track statistics of sent emails (delivered, opened, pending, etc).
Also, we implemented Insights, the functionality that is still in the testing stage. Insights is the data collected on the backend, and displayed in the form of graphs on the frontend. It provides information on how many leads have moved from Lead to Conversion (became clients) within a certain period of time.
There are two types of graphs:
- The pipeline, that illustrates how many leads are assigned to each lead status at a given time.
- The funnel, that illustrates the customer's journey through the lead process. It shows how many leads flow all the way through and where in the conversion process other leads are dropping off.
Both graphs can be filtered by a different set of parameters.
Email campaign builder
At the client’s request, we implemented the online email builder, allowing admin to create custom emails, organize mailing lists, and automatically send the emails out to parents whose children are already enrolled in schools. The generated emails are cross-client compatible, so they can be opened properly almost in any client such as Outlook, Apple Mail App, Gmail, etc.
Both the schools and Kinderlime were very pleased with the Leads CRM System and email builder functionality. We are currently working on additional integrated parent engagement solutions, including the implementation of e-signatures, which will allow parents to sign (or decline to sign) documents that teachers create, all within the system.
The project uses hundreds of different forms to create and edit various entities (students, parents, accounts, I/O, billing plans, mailings, etc.). To save time, we wrote a library that can be used to describe the form and field validations quickly and declaratively. It saves hundreds of lines of code in many places and is also used in the form builder.
We used React to develop the UI, Redux for state management, and Webpack for the build. As for third-party services, we used Stripe and a third-party bank to allow payments from mobile clients in the Webview. In addition, React DND was used to implement drag-and-drop in the email builder.
One of the new tools that we used for the first time was Cypress, the end-to-end testing framework. Now 90% of the main features are covered by these tests. We had to study it from scratch before we could set it up to run e2e testing before release.
We also used CircleCI for continuous integration, AWS for cloud storage, and Intercom for realizing customer relationships.
Unlike other software development firms, Evrone connects engineers directly to the client’s team, without unnecessary project middle-management. This method helps us and our clients achieve better results, as it eliminates the miscommunications that are often a result of conveying information through a middleman. It helped the Kinderlime team build a seamless communication and development process, across all timezones, and resulted in a fantastic product.
We helped the client build an efficient team extension and established a great relationship with Kinderlime’s team. They’ve had good traction and brought more clients to the platform, as a direct result of the excellent interface and useful new features we developed together. If you plan to develop an EdTech solution for your business, feel free to reach out to us via the form below.