Quality Improvements in OpenSolar 3.0

Posted 17 September 2025

As the OpenSolar platform has grown, both in features, and in the amount of people using the tool, there has been a gradual increase in the technical complexity with building and running the platform at scale.

We’ve been expanding and improving our team and processes continually over the years to keep up with this.

We understand that running your business on OpenSolar is a commitment from you, but also a commitment from us; to keep things running smoothly and accurately so that your business can succeed. We don’t take this commitment lightly.

Rest assured, we’ve heard your feedback loud and clear, and we’ve designed the 3.0 phase of OpenSolar to better address the present and future quality of the OpenSolar platform.

Recent quality improvements

As part of our work towards 3.0, there has been an increased focus on quality. We’ve broken this down into three core components: Speed, Stability and Polish. In each area we’ve changed our processes to make sure we achieve the standard we think the 3.0 launch, and you, our users, deserve. As a result we’ve seen significant improvements across all three areas.

We’ve mostly frozen new feature development for the 2 months leading up to the 3.0 launch, so that the development team can focus almost entirely on quality and performance. This has resulted in a whopping 233 tickets of this sort being delivered during this period.

Details
Highest Impact 60
Very High Impact 93
High Impact 66
Medium Impact 12
Low Impact 2
Total 233

All of these improvements are live in OpenSolar today, ready for the launch of OpenSolar 3.0.

Speed in OS 3.0

We have tackled speed on multiple fronts, but we’ve found the best wins in these areas:

  • Optimising long-running requests to the server (e.g. system calculations, proposal generation)
  • Pre-processing things in the background before users need them
  • Removing and/or reducing screen blocking loaders

This has resulted in a huge reduction in wait times across some of the most used flows, with an average reduction of 15.5 seconds in wait time.

Details
Journey Used to take (May ‘25) Now takes (Sept ‘25) Improvement (time)
Pro prepares a residential project with 2D imagery. Design includes Panels, Trees, Roof Borders, Wires, Battery, Inverters, Auto stringing. Pro reviews proposal after project is prepared. 107s 73.6s 33.4s
Pro prepares a residential project with 3D imagery. Design includes Panels, Trees, Roof Borders, Wires, Battery, Inverters, Auto stringing. Pro reviews proposal after project is prepared. 106.8s 78s 28.8s
Pro prepares basic design with proposal signed and ACH debit details filled by customer 65s 60.4s 4.6s
Pro prepares basic design with proposal signed & Lightreach loan details filled by customer 74.6s 73.8s 0.8s
Pro prepares commercial project with manual imagery. Design includes Panels, Trees, Roof Borders, Wires, Battery, Inverters, Manual stringing. Pro reviews proposal after project is prepared. 95.8s 86s 9.8s
Example cases

Proposal / Calculation optimisations (Ticket #15585): One area which has felt somewhat slow in OpenSolar for a while now is when moving from the Design area into the Proposal. This is typically because the full 25-year lifetime calculations are still running. We’ve done a series of optimisations to this process, making the proposal load much faster in most scenarios. We’ve reduced the wait time on lifetime calculations by around 12 seconds for medium-sized projects (an average sized project with a battery took 25s previously, now about 13s).

Auto-stringing Optimisations (Ticket #19448): One automated system that was in need of optimisation was the Auto-stringing system, which was frequently taking over 20 seconds. After reworking this system, we’ve got this down to 1 – 5 seconds for normal use cases.

Pre-load Google 3D Imagery (Ticket #16264): One way we found to speed up the usage of the commonly used Google 3D imagery is to begin downloading the assets for this before you’ve even selected this imagery type. Using this method, we can reduce the wait time by up to 15 seconds, in normal use cases.

Battery calculation optimisations (Ticket #18096): One part of our system calculation process that has been historically slow is the battery calculations. This has been optimised by taking a deep dive into the implementation, reducing the amount of interpolation happening, and using lower level data structures to do the heavy lifting. We’ve seen about a 15% improvement in the time it takes to run these, which amount to about 2-3 seconds in normal scenarios.

Stability in OS 3.0

To improve our stability over time, we’ve been building a new automated testing system.
This involves writing scripted journeys through the platform’s features, so that a program can use the platform continually and alert us after each change to make sure that none of the functionality has broken (before the changes make it into the public version).

This gives us much more confidence when making changes to the platform that we’re not inadvertently breaking a feature your business might be depending on.

This is a long journey and we’ll continue adding to this suite over time. To date we’ve added 107 automated end-to-end test cases (in addition to our pre-existing test suites).

Details
Month E2E Test cases
Q4 2024 10
Q1 2025 30
Q2 2025 47
Q3 2025 107

On top of these tests, we’ve been working on the infrastructure of OpenSolar to make it more robust and future proof.

Example cases

Database Deadlocks (Ticket #16905, Ticket #17262): Due to a growing user base, and new feature work (e.g. reworked/optimised system calculations), there was database deadlock occurring. This was preventing projects from being saved in some cases. This has been resolved.

Optimise Common Queries (Ticket #19342, Ticket #17515): Over time, certain common database queries have become less efficient, normally due to additional functionality. We’ve reviewed many of these common queries and optimised them, so that generally it should feel quicker to move around the platform.

Polish in OS 3.0

As the platform has grown, some gaps have formed in the product where it obviously should do something, but doesn’t. We’ve been hard at work listening to feedback, collating the most requested feature gaps, and building out as many as we can so that OpenSolar 3.0 feels by far the most complete version of the platform you’ve ever used.

Example cases

Retrofit Projects (Ticket #17488): A commonly requested feature has been making it simpler/quicker to define an existing system when a customer already has solar installed. We’ve made this a first class feature, allowing you to define the existing system either using a basic panel count and system size, or by modelling the existing system.

Multiple Panel types per design (Ticket #17486): A long requested feature in OpenSolar has been the ability to use multiple different types of panels within a single design. We’ve finally added this feature, allowing you to model out existing arrays as well as new ones, in the same system.

Refine Roof and Wire drawing tools (Ticket #16788): We’ve overhauled the roof drawing experience in the Design area to make this much smoother and more intuitive. It now supports snapping hints, snapping to an axis, snapping to perpendicular angles, clearer visualisations while drawing, and refinements to the core snapping engine.

Measure-to-resize uploaded imagery (Ticket #19035): It is now possible to adjust the scale of uploaded map imagery by measuring a distance on the uploaded image and then entering a real-world distance value.

We have also been working on refreshing our entire UI language throughout the application, to give a cleaner, more polished look.

Support

Thank you to everyone in the OpenSolar community for all of the feedback we get. We genuinely appreciate hearing how you are finding the platform, good and bad. Without this feedback it’s hard to focus our efforts on the right things, so please keep it coming.

If you’re experiencing any issues in OpenSolar, or have other feedback please reach out here.

If you’d like to know more about the new features available in OpenSolar 3.0, register for the launch event here.