The purpose of this website is to display what I built while at Sunnova because it was an innovative business, and I enjoyed my time there. I also remember when I was teaching myself how to develop mobile apps, there was not a lot of documentation out there about how apps in big companies are put together. I would like to share the wisdom I gained from this engagement to those who are embarking on the steep and isolating learning curve of mobile app development (it’s overwhelming, I know). I also wanted to teach myself the three.js and Green Sock Animation Platform (GSAP) libraries to create 3D animations.
Sunnova’s main service offering is financing + installation for solar panel systems, and they operate a franchise business model where solar-panel-dealerships receive commissioning checks from Sunnova when they successfully install solar panel systems. Sunnova and dealerships use a mobile app I helped build in 2023 called Catalyst (available on iOS and Android) to facilitate the communication between Sunnova and Dealership employees. After dealerships install Sunnova-approved equipment on properties, they submit photos of the installed equipment using the Catalyst app. Sunnova then sends dealerships commissioning checks after their engineers verify that the equipment was installed correctly. Throughout this process, consumers also follow along in an ‘install wizard’ in the consumer facing app (available on iOS and Android) (after the underwriting process), and once their equipment is installed, customers can use the customer-facing app to monitor and customize their residential home energy systems.
Before Sunnova can install energy equipment, property specifications are required. Some examples are roof pitch, attic and roof rafter specs, subpanel and main breaker info, and which electrical utility company is used. To accomplish this information discovery, Sunnova has a feature in their Catalyst app called "site survey," which allows solar sales consultants to submit customer property data to Sunnova's Salesforce instance for case management. The survey prompt types supported are; photo, number, long-text, short-text, multiple selection, boolean, and some questions can be marked as "does not apply." Below are some example screens from the site survey portion of the app.
After solar panel energy systems are installed, solar panel dealerships use the Catalyst mobile app to submit proof of the solar equipment installations so that they can:
The gallery below displays the core process dealership employees go through when submitting a commissioning package through the Catalyst app to Sunnova corporate for their engineers to review.
There also is a complimentary web app to the mobile app solar-dealerships can use. This web app is dual-faceted and accessed via a different login by Sunnova engineering reviewers to approve, provide feedback, and reject system-installs submitted by dealerships.
The features in the web app share a lot of the same core-components as the mobile app with some minor UX differences to suit different ways of working with a keyboard and mouse instead of a touch screen mobile phone.
At a high level, the Catalyst app comprises two main features called site survey and commissioning package. Both of these features are essentially surveys that dealership employees use to submit information to Sunnova about a property. The codebase is divided into two main directories: backend and frontend, and the app architecture follows the MVVM (Model-View-ViewModel) pattern. Here’s how the structure is organized: