
Data-driven platforms, mitigating revenue loss and improving service efficiency for solar energy operation: Real-time Energy Performance Tracking + B2B User Permission Management.
OVERVIEW
As the largest commercial solar provider/operator in the US, Altus Power has been rapidly expanding its portfolio. This creates an urgent need to develop multiple digital platforms to scale operations and optimize revenue management.
During the time I worked there, I contributed to approximately 10 projects within the broader web app systems, with 2 core solutions highlighted below:
AltusCentral

AltusIQ

Unlock full project?
Oops. Try again?
Real-time Energy Performance Dashboard
AltusCentral
A DETECTION GAP
Undetected solar site issues cause major revenue losses.
Due to the lack of a centralized tracking platform, current data is outdated — funneled from multiple sources into static Excel sheets.

A SEA OF DATA
To monitor solar performance, engineers need to track 90+ solar sites, each site with 50+ data categories.
These include production, DAS weather, availability, and satellite data. Meters and inverters, located on each solar site, are important sources for project-specific energy production. Vast amounts of information overwhelm engineers, who already work under high pressure.


DESIGNER’S ROLE
As a designer who values empathy, how can I reduce cognitive load for users, thereby upgrading to a scalable, efficient diagnosis workflow?
OVERARCHING SOLUTION
A centralized, real-time dashboard would enable 0-delay issue detection. It needs both a comprehensive overview and granular details.
Data hierarchy is key to clarity. I sketched a clear, two-level dashboard structure, to be built on AltusCentral, the company internal management platform.

ALL-PROJECTS LEVEL
Customizable portfolio view, to quickly search, filter, and compare data across all solar sites.

OPTIMIZING FEATURES
Flexible display options let engineers focus on only the most relevant data — ones that pinpoint issues.
Extensive customization modal, neatly organized by group
In the modal, engineers can decide which columns to show, the format of data display, and what data to use for further calculation. This allows them to compare revelant columns side by side.

Search, filter, export, and refresh
The search bar gives engineers direct access to any project; time-range filters act like a zoom lens; export options make analysis and sharing easier.
While the system automatically displays real-time data on a daily frequency, a refresh button ensures engineers always see the most current view.

DRILL-DOWN LEVEL
Editable table with built-in alerts, showing high-resolution, time-based production data for each project.

OPTIMIZING FEATURES
At this level, detail and precision is crucial for engineers to make accurate diagnosis.
All meters and inverters on site displayed as sources
Though this means a lot of columns in display, we do need them — this is when precision cannot be compromised. Again, they can be hidden/shown as needed.
There are approximately 10 of each per site. A total value for each group of devices is auto-calculated.

Flexible time interval units
To get a range of data granularities, engineers can toggle among 15 mins / 1 hour / 1 day / 1 month intervals for meters and inverters readings. These options meet different needs in a diagnosis process.

Edit access to correct occasional inaccurate readings
Engineers can manually fill in the readings for individual meters and inverters, in cases of misleading anomalies. This prevents display errors from propagating, ensuring that downstream diagnostics and alerts reflect the true state of the system.

CVS files export
Engineers can export selected rows, columns, or types of meter and inverter data as CSV files, giving them full control to perform further calculations, reporting, or integration outside the platform.

Additionally, to speed up the diagnosis process, the system auto-detects abnormal data.
Alerts taken one step further
Highlights on abnormal rows point out where issues are, and alert messages add immediacy and visibility. The alerts takes one step further to suggest the likely error type, saving engineers even more time.

Edge case consideration
From frequent communication with engineers, I included an edge case for the alerts to address: if meters are down, engineers receive a reminder that calculations rely on inverter data only.

AltusIQ
CONTEXT
Over 90% of Altus Power’s revenue is attributed to business users. AltusIQ, the B2B app, is essential to deliver many aspects of the service.
Businesses that subscribe to Altus Power use AltusIQ to measure and act on their energy usage across properties.

PROBLEM
With a wide range of data categories on AltusIQ, how to ensure each business member has the right data access, without risking overexposure?
Within each business, multiple team members can access AltusIQ: from facility managers to finance teams. As AltusIQ scales across enterprises, an urgent challenge arises: managing user permissions so each stakeholder sees the right data, at the right level of control, without creating friction or risk.

OVERARCHING SOLUTION
Role-based permission settings.
In AltusIQ, roles are shaped by the logic that some members only need visibility into performance, others need to act within the workflows, and a few must oversee settings and governance.

LOGICAL DETAILS
Role-based permission settings.
In AltusIQ, roles are shaped by the logic that some members only need visibility into performance, others need to act within the workflows, and a few must oversee settings and governance.

SOLUTION
A dashboard of all members’ permission settings,
with the data structure parsed according to roles.

APPROACH 1
In the user table, admins can quickly toggle roles.
At admins' convenience, the user table contains a column of "Roles". Admins can quickly switch a member from one role to another, using the dropdown button.

APPROACH 2
In the Roles section, admins can streamline the role-based management.

Under the user table is the Roles section. It shows three pre-set roles: User, Admin, and Viewer.
Each has a different permission setting, which members assigned with the role automatically follow.
New roles can be created and assigned to members.

When a role gets deleted, the members in the role will be re-assigned, either to user (the default role) or to another specific role determined by the admin.

APPROACH 3
For each user profile, admins can customize permissions for individuals.
Sometimes, based on an existing role, admins want to slightly customize the permission settings for a member.
Small adjustments like this can be done in the user profile view.
