I'm pretty new to all this as well. I like the idea, and the relative simplicity of the output and diagrams. I think to achieve baseline utility, you'll need to focus on these minimum criteria:
* allow user to specify the exact specs of their panels (all the numbers that appear on the label on the panel itself), and use those numbers in the calculations
* allow user to specify these specs of their charge controller:
* minimum PV input voltage
* maximum PV input voltage
* controller optimal operating voltage (not always specified by manufacturer, so allow skipping it as input and calculate it as something akin to Vmin + 0.75*(Vmax-Vmin) (note: this is a guess--someone correct me if this is a bad means of guesstimating it)
* maximum PV input current/wattage (some devices specify one rather than the other/both, or occasionally neither)
* allow user input of either a targeted kW production target for the array and then calculate how many panels they'll need and in what config, or allow them to specify the number of panels, and then calculate the production capacity and the likely-best array config.
I think once you have baseline utility, along with
a disclaimer that you are not showing/calculating necessary safety devices, you can start incorporating some of the other features that would make it a far more useful and flexible tool.
Page layout considerations:
* for panels in series or batteries in parallel, don't stack them vertically with a width of one: alter the wiring to allow the array/bank to flow horizontally, left-to-right, to the page width, then wrap to a new line (since you're presumably targeting desktop on a website and not mobile via an app).
* as mentioned, show the inverter DC input attached to the battery bus bar, not the charge controller load output (which to my understanding may not even exist on many modern charge controllers). Along with this, instead of allowing the user to check "Batteries" at the top, maybe have them choose either "off-grid" or "grid-tied". The former pretty much assumes batteries, the latter pretty much assumes no batteries--again, this is for baseline utility of covering the most common scenarios, though, and not always true.