← CanopyDeck

Product case study · Aaditya Lobo · October 2026

A solar design in seconds, for Goan roofs

The brief: replace hours of manual roof design with a tool that goes from site data to a complete proposal in seconds, at the level of Arka360, Aurora and Reslink, for Indian and Goan roofs. This is what I learned, what I decided, and what I built in a day to test it. The working tool is called Canopy.

0.5 sto read a roof from its picture, at most, on 5 real Goan roofs
0.3 to 3.8 sfrom roof to layout, strings, yield, materials and money
2.4%largest gap to the EU's PVGIS model across twelve test cases
5.8 yrspayback the money model returns for Tersus's 5 kW system. Tersus publishes 5.8

01The problem, taken apart

A solar design is five jobs. I started by asking where the hours actually go, because the answer decides what to build.

JobHow it is done todayWhere the time goesIn Canopy
Get the roof into the computerTrace the outline on a map, type the heights and the pitchMost of it. Arka360's own guide says a concrete roof takes within 20 minutes, before stringing and drawingsRead from the picture in about 0.2 s, then corrected by dragging
Place the panelsSemi-automatic fill, then nudged by handMinutesEvery position that fits is found and ranked by what it would earn
Wire themStrings drawn by hand in Arka360 (a paid tier)Minutes to tens of minutesStrings follow from the inverter's voltage window; no drawing
Predict the energyAutomaticSecondsHour-by-hour year, shade ray-cast per panel
Drawings, materials, price, proposalExported, then assembled and editedThe rest of itGenerated from the same design, in the form Goa's portal asks for

The physics was never slow. A year of generation for twenty panels simulates in under 20 milliseconds on a laptop. The hours are a person tracing a roof, typing its dimensions, drawing strings and assembling documents. So the product is not a faster calculator. It is a way to get a good-enough roof into the computer without tracing it, and then to never ask a person to do anything a rule can do.

My estimate of 20 to 90 minutes of hands-on time per home today is inferred from the documented steps in Arka360, not measured. Timing ten real designs with the team is the first thing I would do.

02Who it is for

WhoWhat they needWhat Canopy gives them
The designer at the installerAn answer while the customer is still on the phoneA design in seconds, and a clear list of what to check on site
The homeownerWhat will it cost, what will I save, will it work on my roof with my treesA proposal about their own roof, in plain numbers
The electricity department and GEDAAn array layout, a shade report and a single-line diagram with each applicationThose three sheets, generated
The install crewWhat to load on the truck and where each string goesA bill of materials with the rule behind each quantity, and the string layout

Speed matters most at first contact. A national survey of households (CEEW) found that 5% had started the process of getting rooftop solar and 1.4% had installed it, and that 68% of those willing but not started did not know how to begin. That survey excludes Goa, so I use it as direction, not as a number.

03The constraint that shapes everything

There is no measured height data for Goa. Every automatic roof tool that works depends on it.

So "match Aurora" cannot mean copying Aurora. For Indian roofs the automatic step is an open problem, and it is the one place a new tool can be better than the incumbents and not merely cheaper.

04How it compares

The brief names three tools. This is what each does on an Indian roof today, beside what Canopy does. Where a cell says claimed, it is the vendor's own statement and I could not check it.

Arka360AuroraReslinkCanopy
Getting the roof inTraced by hand on a map, heights typed. An automatic outline is in beta for selected customersAutomatic where laser height data exists (the US and Europe). By hand in IndiaIts workflow page says the rep draws the boundary. Other pages claim AI detection and phone laser scanningRead from one picture, with a confidence on each value, then corrected by dragging
Height and pitchTyped inFrom laser data; not in IndiaDrawn or scanned on site (claimed)Shadow, Google's building map and Goa's floor rule; pitch from the material; the phone's tilt sensor on site
Placing panelsAutomatic fill above a sunlight thresholdAutomatic, to a maximum fit or an energy targetAutomaticAutomatic, ranked by what each position yields, sized by what the next panel earns
StringsBy hand, on the top plan onlyAutomaticAutomatic (claimed)Automatic, from the inverter's voltage limits
DrawingsSingle-line diagram and layout as DXF, on the top planPlan sets for the US; its diagram editor is Europe-onlySingle-line, layout and string drawings (claimed bank-ready)First-pass single-line diagram, array layout and shade report as SVG and DXF. Not reviewed by an engineer
EnergyYes; weather source not statedYes8,760-hour simulation, claimed within 3 to 5% of meteredHour by hour; within 2.4% of PVGIS in twelve test cases
Proposal for a Goan homeSavings, payback and return; pay-per-unit for India not confirmedBuilt around US financeBuy and pay-per-unit, central subsidy applied (claimed)Goa's slab tariff, surcharge, net metering, central and state subsidy; buy, loan or pay per unit
On a phoneNot checkedNot checkedPhone-first: a design on site in under ten minutes (claimed)Runs in a phone browser, with location and a tilt-sensor pitch reading; not yet tried at a real site. No laser scanning
Track recordIn commercial use in IndiaIn commercial use, mainly in the USSays 6,000 installers and 25,000 proposalsBuilt in a day. No customer. Never checked against a measured roof

Where Canopy is ahead

Where it is behind

What they charge

ToolPublished priceWorth knowing
Arka360, India₹46,000, ₹70,000 or ₹1,00,000 a year, plus GST and ₹10,000 to startStrings, the single-line diagram and the API come only on the ₹1,00,000 plan
Aurora Solar$159 or $259 a user a month, 50 projects eachAutomatic roof models and the API are on custom enterprise plans
Reslink$2,000 to $10,000 a year, by the size of plant designedAs the page was served to us; rupee prices seen elsewhere do not agree with it
OpenSolarFreePaid for by hardware and finance partners; uses Google's Solar API
SurgePV$1,299 to $1,899 a user a yearSold to Indian installers; says its own detection needs a designer to correct it
CanopyNot for saleRuns on free public data, so a design costs nothing to make

Prices read from each vendor's own pricing page in October 2026, before tax. Google's Solar API, if added, costs nothing for the first 70,000 roof lookups a month in India and $4 a thousand after that.

05The decisions

Estimate with a confidence, then confirm

Decision
Canopy does not claim to measure the roof. It proposes one, says where each value came from (read from the picture, or usual for Goa) and how sure it is, and lets the designer fix it by dragging.
Why
No tool reads Indian roofs automatically today. Aurora's needs laser height data that exists only for the US and Europe. Google's new height model for India is good to about a metre and five degrees, and cannot see tanks. A tool that hides its uncertainty will be wrong in ways nobody notices until the crew is on the roof.
What it costs
It is not one click. On the sample roofs the confirm step is a few seconds; on a grey slab among grey roads the outline has to be drawn by hand.

A small grammar of roofs instead of free-form 3D

Decision
A roof is a handful of rectangles, each flat, single-slope, gable or hip. Where they overlap the higher one wins, which is how an L-shaped house is actually built.
Why
It covers what Goa builds (tile on a gable or hip, concrete slab, sheet over a terrace). Every downstream step gets exact planes with a tilt and a direction. And a wrong guess is two drags away from right, where a wrong mesh is a redo.
What it costs
Dormers, curved roofs and odd angles are out. They need the drone path.

Spend accuracy where it pays

Decision
Roof pitch is taken from the material unless the picture gives a clear reading. The effort goes into which way each face points, what stands on the roof, and shade.
Why
I measured it with the engine (table below). On a south-facing slope a 5° error in pitch moves the yearly output by under 1%. Which way the face points moves it by up to 25%. Tree height moved one sample roof by 14 points.
What it costs
The pitch shown for most tile roofs is the usual 24°, not a measurement. It is marked as such.

Two rough readings and a rule beat one guess

Decision
Height comes from three places: the building's shadow in the picture, Google's free building-height map, and Goa's building regulations, which fix a floor at about 2.95 m (a 2.8 m room and its slab) on a 0.45 m plinth.
Why
Neither reading is good alone. Trees hide most shadows, and Google's map is good to about 1.5 m. But a building can only be a whole number of floors, so a rough height is enough to pick the floor count, and the rule turns that into metres. Where the shadow and the map disagree, both are shown and the designer is asked.
What it costs
Google's height error was measured outside India. One sample roof reads 6.6 m by shadow and 13 m by the map; only a visit settles it.

Size by what the next panel earns

Decision
Every size from four panels to a full roof is priced and run through the bill, and the default is the best one for the customer, not the biggest.
Why
Goa bills in slabs, so each extra panel displaces cheaper units than the one before, and past the home's own use it earns only the surplus rate. The right size is where the next panel stops paying for itself.
What it costs
The sales number is sometimes smaller than the roof could carry. I think that is the honest number, and the designer can still choose to fill the roof.

Rules write the electrical design

Decision
String lengths come from the inverter's voltage limits on the coldest morning and the hottest roof. Faces pointing different ways never share a string. Cable is sized for voltage drop. The single-line diagram and array drawing are drawn from that result.
Why
This is the part competitors leave manual or put in a paid tier, and it is pure rule-following. It is also what the approval needs.
What it costs
The drawings are first-pass. An engineer still signs them.

Two stages of accuracy, not one

Decision
The satellite read gives a proposal on the first call. The site visit that happens anyway then confirms height, pitch and trees, and the same design updates.
Why
A proposal in seconds is what moves a lead. An install-ready design from a 0.58 m picture is not honest, and nobody has shown it can be done.
What it costs
The final panel count can move by a panel or two after the visit, and the proposal says so.

The numbers behind "spend accuracy where it pays"

Yearly output per kWp for a 24° tile slope in south Goa, and what a wrong pitch does to it. Computed with Canopy's own simulation.

Face pointsUnits per kWpAgainst southPitch 5° too lowPitch 5° too highDirection 15° off
South1,5090.0%+0.2%−0.8%−0.2%
South-east1,454−3.7%+0.9%−1.4%+1.9%
South-west1,466−2.9%+0.7%−1.3%−2.2%
East1,338−11.4%+2.4%−2.7%+3.2%
West1,352−10.4%+2.2%−2.6%−3.4%
North1,139−24.6%+6.9%−7.6%+0.7%

On the faces worth using, pitch barely matters. On a flat slab, racks at 12° give 1,500 units per kWp against 1,512 at the ideal 22°, so low racks cost under 1% and take far less wind. Shade is different: on the bungalow, benaulim sample, the trees read from the picture cost 2.4% at an assumed garden-tree height and 13.2% if they are tall palms.

Pitch off by 5°, south face0.8%
Pitch off by 5°, east face2.7%
East face taken for south11.4%
Trees taller than assumed10.8%
North face taken for south24.6%

06What nature contributed

I went looking for places where a natural system solves the same optimisation, and checked each against the literature. Five held up. Three did not, and are not in the product. Fibonacci is on both lists: true for sampling a sphere evenly, folklore for arranging panels.

In natureWhat it doesIn Canopy
A pile of dry sand on a plateIt settles into equal slopes meeting at ridges: the hip roof of that plateKeptThe roof grammar. Real roofs differ only at inside corners, where sand makes a cone and builders make a valley
A tree's lowest leafA leaf is kept only while it earns more than it costs (Monsi and Saeki, 1953)KeptThe sizing rule: add panels in order of yield, stop when the next one does not pay
Blood vessels and leaf veinsBranches are sized to balance flow loss against the cost of the vessel (Murray, 1926)KeptThe same sum as Kelvin's 1881 rule for wire. It lands on the standard 4 mm² string cable
How eyes read a sceneGuess the scene, render it, compare, keep the best guessKeptThe detector tries each roof form under the picture's own sun and keeps the best match
A sunflower's seed headEach seed is turned from the last by the golden angle, which packs them evenlyKeptThe same lattice spreads rays evenly over the sky to measure how much open sky each panel sees
Fibonacci trees of panelsSaid to catch more lightDroppedThe 2011 claim measured voltage, not power. Flat panels on one plane do not shade each other
Slime mould and ant-trail networksFind short networksDroppedNo evidence for arrays this small. A back-and-forth path is already as short as it gets
Steep leaves near the equatorAvoid midday overheatingDroppedPoints the wrong way for panels, which do not saturate

The picture itself is the other natural instrument. A satellite photo is a sundial: the building's shadow gives its height, and the direction the shadow falls gives the time the picture was taken. Canopy reads both when the ground is visible.

07What was built

  1. Readoutline, material, shadow, trees
    about 0.2 s
  2. Shaperectangles into roof planes
  3. Placeevery position that fits
  4. Shade576 patches of sky per panel
  5. Size and wireevery size priced; strings by rule
  6. Simulate and price8,760 hours; slabs; subsidy
Real roofPositions foundChosenUnits a yearPricePaybackDesign time
Tiled house, Benaulim1127 panels, 3.78 kWp5,762₹2,72,6694.5 years0.9 s
Bungalow, Benaulim9014 panels, 7.56 kWp11,271₹5,30,2734.5 years0.4 s
House by the road, Porvorim18010 panels, 5.40 kWp7,484₹3,97,3984.9 years1.1 s
Apartment block, Porvorim6935 panels, 18.90 kWp27,315₹11,51,9984.3 years0.3 s
Office block, Verna250136 panels, 73.44 kWp1,08,966₹42,86,7644.2 years3.8 s

How I know the numbers are right

What is real today

Asked forState
Roof area and outlineWorksFrom the picture on tile and sheet; a coarse outline to drag on grey slabs
Roof typePartlyMaterial from colour is reliable; gable or hip is a best guess
Roof slopePartlyUsual value for the material; measured only when the picture allows
House heightPartlyFrom the shadow, Google's building map and Goa's floor-height rule; good to about a floor
Best panel positionsWorksRanked by yield with ray-cast shade
Interactive 3D modelWorksWith a sun you can move through the day and year
Bill of materialsWorksQuantities by rule; prices editable, or a company price list
Inverter and panel wiringWorksStrings, inverter choice, cable sizes, checks
Single-line, PV and array drawingsPartlyFirst-pass sheets as SVG and DXF; not yet reviewed by an engineer
Performance simulationWorksValidated against PVGIS
Proposal with buy, loan and pay-per-unitWorksGoa tariff, net metering, both subsidies
Accuracy against real installsNot yetNeeds Tersus's completed sites to compare with

08Problems I foresee

ProblemWhy it bitesWhat Canopy does about it
The free picture is coarser than its source0.58 m a pixel over Goa, from a 0.34 m original. Outlines are good to about a pixelArea carries a ±15% range. Production needs licensed 30 cm imagery or the installer's own drone picture
Shadows are hidden by treesHeight is read from the building's shadow, and most Goan houses stand in treesFalls back to Google's building-height map and the regulation floor height, then asks. One tap fixes it
Pitch from brightness is weakThe physics is sound, but colour-balanced mosaics squeeze the contrast it depends onTested, then demoted: pitch defaults to the material's usual value. The method stays for raw or drone imagery
Tree height is unknownIt is the largest swing in the resultTrees are placed from the picture and flagged. The shade report says heights must be measured
Grey slabs among grey roadsColour cannot separate themThe colour search is held inside the building Google's map shows, and failing that the map's own outline is used. Still coarse: it needs a drag. The real fix is a trained roof-outline model
Ridge direction can be read wrongIt decides which way faces point, the biggest lever on yieldRafters span the short way, so the ridge is assumed to run the long way unless the picture disagrees strongly. Editable
Imagery licenceFree map tiles are not licensed for measurementA prototype choice. Google's Solar API terms do allow design and proposals
Surplus payout is unconfirmedSizing past the home's use depends on what is actually paid each MarchBest value never sizes past covering the bill
Subsidy rules moveCentral scheme ends March 2027, Goa's in March 2028, both budget-limitedAll scheme numbers sit in one file with their sources
Structure is not checkedOld rafters and coastal wind (39 m/s) decide whether a tile roof can carry panelsOut of scope today. A site-visit checklist item, then a structural module
PricesThe price book is market defaults, not quotationsA Prices tab holds the installer's own rates, margin and GST, or a price list by system size. Panel and inverter values are read from makers' datasheets
The installer already has a toolLuarc lists Auriva for solar layout and proposalsThis is a day's independent attempt at the same brief, useful as a second opinion on the hard parts

09What I would do next

First two weeks: find out how wrong it is

Tersus has what no vendor has: finished roofs with known panel counts, and an app that records what each one generates. Run Canopy on twenty completed homes and compare panel count, kWp and yearly units with what was built and measured. That turns every default in this document into a measured error, and tells us which of the problems above to fix first.

Next six weeks: close the confirm step

Later

How I would know it is working

MeasureTodayTarget
Time from address to a proposal the designer will sendHours (to be timed)Under five minutes, including the confirm step
Panels proposed against panels installedUnknownWithin one panel on eight roofs in ten
Predicted against metered yearly unitsUnknownWithin 8%
Applications accepted without a drawing being sent backUnknownNine in ten

10What is not verified

Sources: JERC tariff order for Goa, 30 September 2025; Goa gazette of 13 August 2026 (state subsidy); PM Surya Ghar guidelines; JERC net metering regulations 2019 and 2024 amendment; GEDA portal manual; PVGIS 5.3 (ERA5); tersusenergy.com (prices, refreshed 26 August 2026); Arka360, Aurora, Reslink, OpenSolar and SurgePV pricing pages; Arka360, Aurora, Reslink and Google Solar API documentation; Google Open Buildings 2.5D Temporal; the Goa Land Development and Building Construction Regulations 2010; Census of India 2011 (roof materials); Monsi and Saeki 1953; Murray 1926; Aichholzer and others 1995; CEEW household survey.