Case Study: Mobile Software For Energy Usage Management

August 09, 2018 82 Views
← Back
Case Study: Mobile Software For Energy Usage Management


Client: Energy retailer that supplies electricity and natural gas to more than 4M customers across North American and European markets


Business goals: Creation of a mobile application for energy usage management, aiming for customer engagement and retention


Product: Сross-platform application supporting iOS and Android, which allows customers to monitor, optimize, and predict energy consumption, based on weather forecasts and history of usage


Applied technologies:


Back End: Amazon Lambda, Amazon CloudWatch, Amazon RDS, Node.js, Express.js, Sequelize, MS SQL, Microsoft TFS + CI Octopus (automated deployment), STS Authentication, SNS/SQS Push Notifications, DynamoDB (feedback API), Wunderground (weather API)


Front End: JavaScript, ReactNative


• Agile management framework (customized Scrum), UI/UX design, manual testing (Mocha/Chai/Sinon), automated API testing



Product Structure



Mobile solution for user engagement and empowerment
as a part of a corporate software ecosystem


The energy company in question has spent over 20 years in business, steadily growing across North America and expanding to the Western European markets. Their ecosystem had already included a few Web products created by our team when they addressed us in 2016 with the concept of an app for personal energy usage management. Among other features, it would include consumption forecasting and means of payment. Our task was to start with design and move on through initial implementation to ongoing delivery.



The new application would become a part of a large corporate ecosystem.


Aligning with the client's corporate standards




Since the new app would become a part of the retailer's ecosystem—and a rather innovative part at that—the client allocated a business analyst and a product owner to communicate with us. Our quickly assembled development team would interact with the client's back end developers.

At one point, the corporate environment was unified under Microsoft services. We immediately conducted seamless migration of all our existing projects. Automated deployment was set up for 6 different environments, which facilitated safety and flexibility of both development and quality assurance activities of all involved teams.



Amazon Lambda became the optimal serverless solution.


Embracing a serverless architecture: Amazon Lambdа




The back end was based on Amazon Lambdа, a computing platform that allows to execute code without dedicated servers. Consequently, it would not require server management, which reduced required effort, saved time, preserved simplicity for developers. All the other benefits—such as scalability and full integration with other Amazon services—remained intact.

Our team established seamless synchronization of all data and transaction history, based on addresses of customers. Eventually, what once was a rather disparate set of websites for each market, became a single unified piece of software – not only within the corporate environment, but for millions of users as well.



Over time the application migrated from Cordova to ReactNative.


Migrating to ReactNative




Initially, the app was based on a Cordova stack. Over time, as more advanced cross-platform technologies emerged and showed their potential, a decision was made to migrate to a widespread framework with a large community and with libraries that would be capable of covering both the current and planned functionality.

The most viable and reasonable option was ReactNative. It reduced a number of risks, helped us make an accurate estimate for development, and ensure stable work of all features. Eventually, all the applications that we created for the client were seamlessly moved to the new stack.



The application was launched as scheduled, after a successful phase of user acceptance testing. Over the following 2 years, we kept evolving it step by step, with each subsequent release covering a new market, involving more and more users to its stable environment, and winning their positive response.


Please feel free to contact us with your questions and ideas!

Read more:
scroll top