Rajiv Perera Scales His Caretime App With NodeJS and Twilio

December 16, 2015
Written by

geolocation

rajiv
There’s a delicate art to asking a caregiver to report where they are, when they got there, and what work they’ll be doing, all without sounding burdensome or intrusive. Software engineers like Rajiv Perera (right) are masters of that art.

Rajiv helped engineer Caretime to give health care employers all the information they need from caregivers, while producing a minimal amount of friction for caregivers themselves (they opt in to this collection).

For starters, caregivers use tools they’re familiar with – SMS and Voice. There’s no sync, app download, or manual for clocking in and clocking out. All they have to do is call a number and enter a PIN, or fire off a text. They can also opt in for shift reminders and updates via text.

 

 

Simplicity On The Surface, Intelligence On The Backend

Caretime is simple on the surface, and a bit more complex on the backend. Rajiv uses the MapBox API, Google Address API, and a private geolocation service alongside Twilio. This allows Caretime to capture and verify data caregivers input. When a caregiver texts a Caretime number, Caretime can verify where the caregiver was when they sent it, if the address they input is valid, and schedule that caregiver to see another client in their area.

 

Pick The Right Stack For The Right Job

When you’re programmatically processing and cross checking information through various APIs you have to have the right stack in place. Rajiv uses Twilio Voice, SMS, AngularJS, PHP, NodeJS and MongoDB. Certain parts of that stack scale more easily than others.

Rajiv explains that all caregivers log in at virtually the same time, each clocking in at the top of the hour. If he receives 10k calls or text in an hour, it’s likely that they’re coming two minutes before the hour or two minutes after the hour.

Rajiv has some health care agency clients that log minimal traffic on the app, and some that log thousands of interactions a second – all in real time. For those high volume clients, PHP didn’t cut it, but NodeJS did.

 

Diving Into NodeJS

“I’ll see 200 calls coming in a 2 minute period, and it works. I  couldn’t get that scale with PHP alone,” says Rajiv.

With biometric voice identification, geolocation, HIPAA compliant recording, text records, and voice records under his belt, Rajiv doesn’t know what he’ll add to the app next. But, he knows what he wants to focus on.
“NodeJS, that’s the future,” says Rajiv. He’s currently experimenting with migrating more Caretime clients to the NodeJS / MongoDB stack for scalability’s sake. Traffic on the app is only increasing and so is Rajiv’s excitement to dive into the new world of Node.