Many people struggle with achieving their goals due to a lack of planning and support.
LifeSherpa was created to address these challenges and provide a solution that is both effective and easy to use.
LifeSherpa is a behavioral training, unique goal-setting and life-planning platform that aims to help individuals improve their mental and emotional well-being. The app is designed to provide users with a comprehensive approach to goal-setting, which includes planning, tracking, and achieving their goals. The LifeSherpa Remote Support Platform turns pre-employment support, training, and placement into an efficient, proactive process.
Challenge
The company was looking to develop a new innovative SaaS platform that would help individuals improve their skills, mental health, and well-being and achieve their goals. Some of the main features needed for this platform were:
- Provide an ability to create simple and repeatable bite-sized courses called “activities” which can be used to train users and collect analytical data.
- There would be instructors who could monitor the progress of these users and provide them support and feedback through integrated chat and video calls.
- Users can be encouraged to complete activities using timely reminders and gamification.
- There needs to be a BI solution that would provide actionable insights and specialized dashboards for every need. This would help in tracking progress of users and help them achieve their goals.
What We Did
To address this challenge, our team worked closely with LifeSherpa to understand their goals and developed a customized SaaS platform. We provide continuous support to LifeSherpa through our technical expertise and pragmatic approach to solving problems:
1. We built an advanced administrative dashboard called “Configurator”
LifeSherpa needed an administrative dashboard which would help admins in managing the data shown on mobile apps. So we built “Configurator” which provides an easy to use interface to manage the entire platform. It provides many features like:
- Manage users in the system and associate them with different groups
- Create activities, forms and rewards through a UI based editor. This editor is easily extendable using JSON Schema and provides helpful descriptions to users.
- Show charts related to users and activities to track user progress.
- Assign activities, forms, rewards, courses, groups etc to users using single or bulk assignment features
- Manage permissions given to different groups of users and change settings for organizations
2. We designed a new database structure and permission system to increase security, scalability and flexibility
- As a simple MVP, LifeSherpa didn’t have a suitable data structure to handle the increasing complexity of the service. Our team discussed with LifeSherpa about the future needs and requirements of customers.
- After a thorough analysis, we designed a new structure which would enforce strict customer data separation to reduce chances of data leaks.
- We also created a new ACL based permission system which would ensure data security through Firebase Realtime Database Security Rules.
3. We built an advanced Google Calendar like scheduler with general and user-specific schedules
The core feature of LifeSherpa is running activities and learning from them. These activities can be scheduled to run at specific times and send reminders to users to complete them.
As our users increased, LifeSherpa found a need to build a more advanced scheduler system which is more flexible and adaptable.
We understood this problem and designed an RRule based scheduler which provides Google Calendar like customizable schedules. You can also create user-specific schedules to serve the needs of different users.
- RRule based schedules have much more preciseness than what a normal cron job can handle.
- So we built a customized scheduling system which runs RRule based schedules using cron jobs. Thus we could use a cron job service to run these schedules in a cost effective way without having to run the cron job server ourselves.
4. We built a serverless API to increase speed of feature development
LifeSherpa has mobile apps for Android and iOS. These apps were developed using Firebase. So earlier they didn’t use any API and modified the database directly. This caused duplicacy in efforts of mobile app developers when a new feature needed to be developed.
To solve this problem, we discussed with LifeSherpa and decided to build our own API using Firebase Functions in node.js. It helped in consolidating most of the business logic inside the API itself. This simplified feature development and reduced bugs considerably.
We coordinated with the mobile team based in Romania and did extensive QA to ensure the release of the mobile apps was bug free.
5. We built an advanced and flexible BI system to report on data from Firebase
LifeSherpa uses Zoho Analytics for BI purposes. We have a data pipeline which converts data from Firebase to MySQL. Then we sync this data to Zoho using our custom sync system. It helps in doing real time incremental sync and keeping analytics data upto-date.
LifeSherpa needed to completely separate data for different customers to remove any chances of data leakage. Yet provide similar starting dashboards to all users.
We came up with a solution to create a reference dashboard and then create a clone for every customer. These dynamic reporting dashboards are designed in such a manner to allow limiting data scope using permissions given to users. Thus administrators can be assured of data security. Here are some salient features of this integration:
- A Data Pump module to do incremental as well as bulk syncs of data of any size from Firebase to MySQL using serverless approach
- Combine Firebase Triggers and a Realtime Database based queue to keep Zoho API calls within rate limits in a serverless system
- Trigger based architecture to ensure dependent tasks are completed based on success/failure criteria and any errors are properly logged
- Self healing system to ensure sync between Firebase, MySQL and Zoho automatically checks any data inconsistency and re-syncs data automatically
- Support for incremental sync between MySQL and Zoho using Zoho APIs
- A table structure which supports ACL based security rules for any table automatically
- A separate workspace for every customer for their reporting needs which is started using a reference workspace. This helps prevent data leakage and enables us to build custom reports as needed by different customers
6. Manage LifeSherpa official website built in WordPress
LifeSherpa requested us to build a new website following a rebranding. Our WordPress experts collaborated with LifeSherpa’s graphic designer to build a new responsive website using a well-tested theme.
We also integrated the Calendly plugin to enable website visitors to schedule a demo at their convenience.
7. Created a web based portal for provide access to LifeSherpa without mobile phones
After seeing the success of LifeSherpa mobile apps, we saw potential for providing the same experience on a bigger screen. So we built a web version of LifeSherpa’s mobile apps called the LS Portal. It allows users to use all mobile app features even on their laptops and desktops. It uses React and provides a fast and fully responsive UI. Admins can see realtime status of clients and communicate with users using chat/video calls. We created special charts which allow admins to get insight into client’s activities.
8. Group video calls and chat support
We led the integration of chat and video call features in mobile apps. After thorough analysis of the requirements and available solutions, we decided to use Twilio to build text chat, P2P calls and Group calls in the mobile apps. We also made an extensive list of test cases to make sure the feature works as expected by users.
9. Enterprise SSO support using Auth0
LifeSherpa originally only used Firebase Authentication to provide simple username and password based authentication to users. But it needed a more robust authentication solution to serve enterprise customers faster and more securely.
We researched various options and ended up using Auth0. As usual, our focus was on backwards compatibility and user experience. We migrated existing users to Auth0 seamlessly and ensured a bug-free experience for everyone.
We also added Azure AD SSO support to LifeSherpa using Auth0 after extensive testing to ensure we use the least amount of permissions to do so.
10. We integrated a full fledged LMS in the system
We integrated TalentLMS in LifeSherpa to provide support for running more advanced courses. We ensure users can open TalentLMS using SSO. We also created the ability to assign courses and download reports while admins manage users through Configurator.
We have employed a similar architecture for TalentLMS that we have used for Zoho to make the sync reliable and efficient.
11. We built customer specific integrations
LifeSherpa customers often want to integrate LifeSherpa with their existing tools and submit custom data into our BI platform. We coordinated with these customers and provided thorough documentation and API support to build these integrations.
This helped in providing immense value to customers of LifeSherpa and enhanced the LifeSherpa platform.
Major Achievements:
Here are some of the major achievements in creating the LifeSherpa SaaS platform
- Built the platform from scratch and scaled up to thousands of Users
- Enabled LifeSherpa to serve changing customer needs with agile development process and delivered new features with a focus on backwards compatibility and pragmatism
- Created a flexible BI system which handles data security and provides advanced reporting capabilities
- Integrated with Auth0 to provide easy enterprise SSO support
- Maintained the entire platform using serverless approach with a robust technology stack and ensured minimum downtime and increased reliability in the system
- Developed a new user-friendly portal which helped increase customer satisfaction
- Provided full QA support for mobile apps to catch bugs and provide stable releases
Technologies and Tools
We are working with LifeSherpa from 2017. We helped LifeSherpa to build their complete platforms.
1. Frontend Technologies
- ReactJS
- AngularJS
- WordPress
2. Backend Technologies
- Firebase Functions for REST API built in Node.js
- Google Cloud Platform
- EasyCron for scheduling activities
- Twilio for video calls and chat
- Auth0 for authentication
3. Database
- Firebase Realtime Database
- MySQL
4. Dev Ops:
- AWS
- Grunt
- Git
- Bitbucket
- CI/CD
5. BI Tool
- Zoho Analytics