LIFE SHERPA

Case studies

https://lifesherpa.com.au/

Life Sherpa provides a range of financial and credit services to Life Sherpa members and users of the Life Sherpa website. Life Sherpa provides advice to residents of Australia who are over 18 years old with the following products: deposit products; bonds and other fixed interest products; life insurance products; managed investment funds; retirement savings accounts; shares; superannuation, etc

life sherpa photo-1

Life Sherpa is a live resource with everything you need to be financially free. Tips and tools to help you make the most of your money, whatever your means.

  • • Life Sherpa is a 100% online, financial advice service that helps you live the life you want with the money you have. Life Sherpa combines its award-winning website resources with the empathy and trust you can only get from a real human who truly understand the needs of a new generation of Australians.
  • • Life Sherpa’s website delivers a wealth of resources to help you assess where you are financially, uncover where you want to be and guide you towards your goals. Every member gets their adviser (your Sherpa) who will guide you along the way.
  • • Life Sherpa is licensed by the Australian Securities and Investments Commission to provide advice on a range of financial products (including bank deposits, insurance, super, shares and managed funds) and to help you acquire, change or sell these products.
  • • Life Sherpa is also is licensed by the Australian Securities and Investments Commission to provide advice on home loans and other debt products.
  • • Life Sherpa is registered with the Tax Practitioners Board as a tax (financial) adviser.
  • • Life Sherpa was founded by Vince Scully and is independently Australian owned. Vince has over 30 years experience in finance and is the author of 'The Latte Fallacy (and other money myths)
life sherpa photo-2

Involvement / participation

The initial project specifications were delivered to us late in 2013. The project brainstorming, market niche research, competition comparison, and branding strategy was already done by that time. Also, the user experience mockups and workflow diagrams were done and provided as input for the first phase of the project.

We received the detailed functional specification for the phase 1 before we started to discuss the requirements with the customer. Also we received the initial set of the page designs. The rest of the designs were delivered either during the specifications discussion stage or at the time when the core of the functionality was in the implementation stage. While the functional specifications were discussed and polished the rest of the designs were delivered. Also, the slicing style guide was made up and ready for the HTML/CSS slicing stage.

Our work on the project started early in 2014 when the functional specification was finalized, the designs were completed and refined and the estimation for the first phase was agreed upon. The first efforts at our side were to slice the static HTML/CSS pages and prepare the staging server for demonstration purposes (as we strongly believe that early feedback from the customer can save a lot of efforts and can give the customer real-time insight on how the project implementation is moving on). Also, we performed the initial research to decide upon the admin and CMS functions implementations.

The phase 1 was delivered to production late in September 2014. At this time we created the necessary instances on Amazon AWS cloud and prepared the automated deployment process. Also we added up the tools and services to make sure the project availability is as close to 100% as possible, and also we integrated NewRelic monitoring solution to be able to monitor the project health in real-time and to get notifications about any critical events. Also together with the project core implementation the integrations with third-party services was built up :

  • - SalesForce to control further customers and prospects pitching and communications
  • - Pardot to setup the nurturing streams and follow up with the existing contacts
  • - CampaignMonitor and MailChimp to import the users from third party services and the ones who registered at project related events.
  • - Stripe payment gateway to manage the user subscriptions
  • - Financial Psychology MoneyMax service to generate the Money Personality quiz report
  • - Integration with major social networks (Facebook, LinkedIn, Twitter) and Google Analytics installation is a MUST for modern web projects to function efficiently and to provide the users with easy way to reach their online communities, thus they were added up to the project too.

In October 2015 the second phase implementation has started. It featured the integration with RACQ (Australian club for Roadside Assistance, Motoring, Insurance, Finance & Travel) and special membership conditions for its existing participants. Also the project services availability for guest and members users was refactored. Also the path to accept the Global Money Week participants was added. And as a most recent addition Life Sherpa was extended to provide special conditions and services for corporate subscribers.

Technologies

  • life sherpa photo-3
  • life sherpa photo-4
  • life sherpa photo-5
  • life sherpa photo-6
  • life sherpa photo-7
  • life sherpa photo-8
  • life sherpa photo-9

Life Sherpa was meant to be a highly available service targeted to the Australian and New Zealand audience equally accessible and usable from both desktop and mobile devices. The latter was especially important as the primary audience for the service is the generation of Millenials. To achieve this the most recent versions of desktop browser must have been supported - Google Chrome, Mozilla Firefox, Safari, Microsoft Internet Explorer and Edge. Likewise for mobile the support of Chrome, Safari and Edge browsers was necessary.

In terms of security the implementation must have provided the strong protection at all levels :

  • The hosting provider firewalls must protect the traffic
  • The traffic itself between the users and the Life Sherpa servers must be protected with strong encryption algorithm
  • The sensitive security information must be stored in the database encrypted with industry best available algorithm.
  • The overall storage facility must allow to store the data on an encrypted disks.
  • The authentication must provide multiple levels of protection for different user types - subscribers, moderators, sherpas, admins.
  • The system deployment must be located at the highly secure facility with multiple levels of authentication and recognition procedures.
  • The user passwords must not be recoverable, even by the Life Sherpa owners
life sherpa photo-17

To ensure availability as close as possible to 100% it was critical to choose the cloud hosting provider with reliable infrastructure, with presence of the data centers on the Australian continent. Reliable backup and restore procedures were also a MUST to prevent the critical data loss. It was likewise critical to ensure efficient UX/IU which would be both intuitive for the end users and at the same time would allow efficient page content management, Knowledge base articles management and administration of the system backend (including, but not limited to users, subscriptions, third party integrations, etc.).

As an additional requirement Life Sherpa pages must be editable in-place by the admin staff whenever the page content has to be changed.

Initial Functional Requirements Gathering.

Although the initial requirements gathering process was organized by the customer and mainly done at their side we have participated in the requirements refinement and polishing process, to make them complete enough for the implementation phase. To make the functional requirements as complete as possible before the implementation has started we have closely cooperated with the Life Sherpa founders, user experience engineer and the designer. Also, we communicated closely with SalesForce & Pardot integration engineer to fulfill SalesForce integration requirements in a best possible way.

Static layouts slicing

The approved designs are further sliced using SASS and SLIM languages. Usage of SASS and SLIM at the slicing stage allows quick integration of the designs to the project, no matter whether it is a newly designed subsystem or just a small change to the existing layout. Our slicers are making modifications right in the project sources, which streamlines the development process and eliminates the necessity of the additional phase to integrate the static slicing to the existing project. Also during the slicing stage, the front end JavaScript pieces are added. We have extensively used jQuery and jQuery UI to implement highly interactive and agile user interface for Life Sherpa.

life sherpa photo-10
life sherpa photo-11

Front and back end Implementation

Static layouts were sliced to partials, CSS Styles and JavaScript files were integrated to the Ruby on Rails asset pipeline. The functional requirements which were gathered during the initial stage were further used to data models and for business logic implementation. Each feature was is made with GIT branch, the code cross-reviewed and then merged to the main branch for the QA phase. Also, the unit, functional and integration tests were provided. The admin interface was based on ActiveAdmin framework to give the admins and moderators ability to manage the project functioning at all levels and give them unparalleled view onto the inner working of the system.

Infrastructure

Our infrastructure includes 3 types of the servers :

Development servers, where our developers and slicers initially interact to implement the functionality and make it ready for QA

Staging servers where QA is performed and where the functionality is being demonstrated to the customer. These servers are setup to match the configuration of the production servers.

Production servers are the servers where the live application is running, and where the changes become visible to the audience of the application

life sherpa photo-12
life sherpa photo-13

Testing and Quality assurance

Our development process features usage of the automated tests, which are produced during the implementation phase. The automated tests are further used during the deployment to development, staging and production servers. Before the QA phase is starting the implementation is deployed to the staging server, where the main QA activities are performed. After QA activities are over and the customer approves the functionality on the staging server it is deployed to the production and tested there.

Deployment

To ensure the project efficiency, stability and security Amazon AWS was chosen as a hosting provider to hold the live application. Our installation features EC2 instance used to run the application processes, S3 instance to store the assets and RDS to run the database. Our DevOps engineer makes the deployment process using Capistrano. The latter allows us to make the deployment procedure accessible with a single command. Once triggered Capistrano script performs all the necessary plumbing to shutdown/startup the application processes, to deploy to master/slave servers, to run the database migrations and more.

life sherpa photo-14
life sherpa photo-15

Production monitoring and support

When the application is live on the production server our job is not finished. We continue to monitor the application health, look for the critical updates to make sure the application infrastructure is up to date. Also we receive the notifications about the critical system events and act upon them to make sure the system functions flawlessly. In addition we continuously overview the libraries and frameworks updates - this leads to the upgrades of the libraries within the project to keep the technology stack up to date. Of course we also keep an eye on the security bulletins to provide the system with best possible protection.

BACK END

The backbone of the application is Ruby on Rails framework (of the version 4.1 at the time of writing). As the HTTP server Apache is installed. Together with Phusion Passenger, it serves the user requests. As a backend storage we are using the MySQL 5 server, with InnoDB engine. The choice of MySQL allows us to use the full power of the relational database storage engine and to keep the resources footprint to run a storage engine to a minimum. To manage the asynchronous back end long-running tasks we currently use DelayedJob ActiveRecord Backend library.

life sherpa photo-16
life sherpa photo-17

FRONT END

For the development of the front end we utilized jQuery, jQuery UI and jQuery plugins stack. As already mentioned the front end layout and interactions are done with SLIM, SASS and CoffeeScript to complement Ruby on Rails stack most efficiently. Also for in-place content editing on the pages we use Mercury engine.

TEST HARNESS

As testing framework to implement the unit, functional and integration tests we use MiniTest. For the initial test data generation we utilize FactoryGirl as well as Faker gem. To add more useful methods and assertions we added up Capybara and Shoulda gems. For service integration testing we utilize Webmock and VCR gems. Also for acceptance testing we use headless and selenium webdriver gems. Before the functions are going live we provide performance testing with SoapUI test automation framework.

life sherpa photo-18
life sherpa photo-18

Results

We had started our work on the project in late 2013 which continued up to 2015. We aimed to create as suitable and properly performing platform as possible. But even after the main part of the job was finished, our work continues up until now.

To make the service work smoothly, our team monitors all the necessary data. First of all, we pay much attention to the updates so the website always suits the needs of our clients and their users. Moreover, we constantly work with protection systems and update them as by the necessity to guarantee the data protection of a high level. All of this allows us keeping the service running without any difficulties and delays.