Serving North County San Diego and South Orange County
Se habla español (760) 237-0085

Recent work

Every job leaves a paper trail.

Before and after photographs, measured readings where there is something to measure, and a written report in the homeowner's inbox the same day. Below are real jobs from North County, homes and community associations alike, each with the actual report the client received.

Solar panel cleaning · Oceanside · September 2026

Clean glass, and four things worth knowing about the roof.

Twenty three panels across six roof mounted arrays, carrying a heavy layer of dust, pollen, and organic debris from a long stretch without a professional cleaning. Every array got two full passes, hand scrubbed with a soft head and a cleaner made for photovoltaic glass, then rinsed. Nothing abrasive touched the glass.

While we were up there, we documented four conditions. Four panels carry orange brown spotting that did not come off after two passes, so it was photographed and recorded instead of chased with harsher chemistry. Four arrays sit at a low tilt where rinse water collects at the lower frame edge. A gutter corner seam is leaking and staining the fascia and wall below it, and leaf and palm debris is packed into the gutter guard ahead of the rainy season. Tilt is solar contractor work, and the report says so plainly.

Dull film and debris across the arrays on arrival.
BeforeDull film and debris across the arrays on arrival.
The same arrays after two cleaning passes, back to open glass.
AfterThe same arrays after two cleaning passes, back to open glass.
Spotting on one of four affected panels, still visible after both passes.
FindingSpotting on one of four affected panels, still visible after both passes.

Each finding is photographed and labeled: documented, observation, or recommended. The homeowner knows what we saw, what we suggest, and what belongs to someone else.

Read the report (PDF)

Ceiling fan repair · Oceanside · September 2026

A fan that would not hold speed, and the salt air behind it.

A loft fan on a vaulted ceiling would not change or hold speed at the pull chain. The fault traced to the three speed switch inside the housing, with corrosion on the pull chain right where it enters the switch body. A corroded chain binds at that entry and side loads the switch until it fails.

Power was cut at the panel and the fan confirmed dead before anything was opened, not left to the wall switch. The existing wiring was photographed and labeled before a single conductor came off, the new switch went in with every wire back in its recorded position, and the original chain was reused because it was still sound. The fan was run through all three speeds and off, and the light kit was confirmed working before we left.

The upper loft ceiling fan serviced on this visit.
BeforeThe upper loft fan, stuck at the pull chain.
Corrosion on the pull chain where it enters the switch body.
FoundCorrosion on the chain where it enters the switch body.
Switch housing open with the new switch installed and the original chain reattached.
DuringNew switch installed, original chain reattached, wiring checked before reassembly.

The report ends with what to watch next: the speed capacitor, the second original chain on the light kit, and any other fans in the house of the same age. Near the coast, the small plated parts go long before the motor does.

Read the report (PDF)

HOA common area cleanup · Carlsbad · September 2026

An association RV lot, cleared and released the same day.

The community manager engaged us to clear abandoned construction material from a gated association RV lot: galvanized pipe, steel fence posts and channel, loose metal stock, traffic cones, a barricade base, and scattered debris across the graded surface. Gate access was arranged in advance with the board contact.

Everything came out in a single visit. Metal was separated for recycling and the balance went to a permitted facility. The perimeter and the tree wells along the fence line were policed for small debris, and the lot was released the same day with no damage to fencing, irrigation covers, or the trees.

The lot on arrival with pipe, fence posts, traffic cones, and debris across the graded area.
BeforePipe, fence posts, traffic cones, and debris across the graded area.
Detail of staged metal stock and loose trash before removal.
DetailStaged metal stock and loose trash before removal.
The lot at completion with all material removed and the fence line clear.
AfterAll material removed, surface policed, tree wells and fence line clear.

The manager had a completion report with before and after photos for the association file the same day. For a board, that record is what gets pointed to at the next meeting. Anchor also offers a standing quarterly walk so the lot stays this way.

Read the report (PDF)

Dryer vent cleaning and airflow verification · Encinitas · September 2026

The first cleaning in the life of a ten foot run.

A four inch, roughly ten foot straight run through a side wall, rigid duct with a flexible transition at the dryer, and never serviced before this visit. The dryer was pulled, the transition was disconnected, cleaned, and reconnected, and the full run was brushed and vacuum extracted from the exterior hood through to the appliance end.

Readings were taken at the face of the hood before and after, same instrument, same position, same heated cycle. We did not convert them into a CFM rating, because face velocity at a hooded cap is not duct velocity, and the report explains why. The hood itself is a good design with no cross bar grille for lint to catch on, so it stayed. No parts were sold that the house did not need.

539 → 699ft/min at hood face
29.6%Velocity gain
12 monthsNext service
Baseline reading at the termination: 2.741 meters per second.
BeforeBaseline at the hood: 2.741 m/s with the dryer on a heated cycle.
Lint recovered from the run, collected for disposal.
RecoveredLint from a first cleaning, collected and photographed rather than described.
Verification reading after service: 3.552 meters per second.
AfterSame point, same cycle: 3.552 m/s.

The report reads its own numbers, including the part that is noise. The 0.3 degree temperature change is recorded and labeled as instrument noise, not a result.

Read the report (PDF)

Solar panel cleaning · Escondido · September 2026

Fifty four modules, five roof planes, one full dry season.

A hillside home with a continuous gray film across every array, heaviest along the lower third of each module where runoff carries sediment down to the frame. The film did not release on the first pass. There are two ways to answer that: push harder with pressure or stronger chemicals, which is how anti reflective coatings get damaged, or let the solution work and go back over the glass. We went back over it. Every module was scrubbed twice.

Tile was assessed before staging and the ladder set on a stand off so no load bore on the tile edge or the gutter. Glass was inspected for cracks, chips, and delamination before any water touched it. The cleaner was a photovoltaic formula at 1:500, the brush is reserved for module glass only, and the final rinse was purified water, top down, left to dry with no towel contact. Work started at 7:03 AM, while the glass was still cool.

Upper and side arrays as found at 7:03 AM, a flat gray haze across the glass.
As found, 7:03 AMA flat gray haze across the whole surface, the signature of a full dry season.
Front array before cleaning at 7:10 AM.
Before, 7:10 AMFront array. Haze across the cells and a debris line at the lower frame.
Front modules on completion at 7:58 AM, the clean glass reflecting the sky.
After, 7:58 AMThe front modules on completion. Clean glass mirrors what is above it.

No production gain percentage appears anywhere in this report, because production was not metered before or after. Roof notes are labeled as observations made while working, not a roof inspection. Next service is set for early 2027 on a six month cadence.

Read the report (PDF)

Dryer vent cleaning and property condition walk · Encinitas · August 2026

A 265 percent airflow gain, and a property file to go with it.

A four foot run from a gas dryer to a grade level hood set low in a planter bed. It arrived restricted: 2.750 meters per second at the termination, roughly 47 CFM. The run was brushed end to end in two passes, the transition and hood were cleared, the damper confirmed free, and the gas connection left undisturbed. The same reading after service was 10.05 meters per second, roughly 173 CFM, moving the vent from restricted to clear on our internal standard.

The discharge temperature went up after cleaning, from 118.0 F to 126.6 F, and the report explains why rather than hiding it: a clear run finally moves the dryer's heat outside where it belongs. The same visit included a condition walk of the exterior, fence and hardscape, garage, pool surround, and accessible interior. Eight findings were photographed and ranked, three marked address soon where water and salt air keep working on the material. Nothing on the walk was priced on the spot.

47 → 173CFM, calculated
265%Velocity gain
8Findings documented
Baseline reading at the exterior termination: 2.750 meters per second at 118.0 F.
BeforeBaseline at the termination: 2.750 m/s at 118.0 F.
Compacted lint mat recovered from the four foot run.
RecoveredA compacted lint mat, consistent with the restricted baseline.
Post service reading at the same point: 10.05 meters per second at 126.6 F.
AfterSame point, same conditions: 10.05 m/s at 126.6 F.

Thirteen pages, including a section titled what we did not check. A dryer vent visit became the first page of a property file, and every item on the walk can be quoted after a measure, with no obligation on any of them.

Read the report (PDF)

Dryer vent cleaning and roof jack service · North County · August 2026

The vent was on the roof, and nobody had been up there in a long time.

An eight foot run terminating through a jack on a first story tile roof. The cap was found deformed open with its securing rivet gone, loose enough to lift by hand, and the duct throat behind it was packed solid with compacted lint. A dryer exhausting into that pushes heat and moisture back into the appliance and the cabinet, which is the condition most commonly associated with dryer fires.

Tile was assessed and photographed on a pre-walk before any weight went on the roof, and the ladder was staged on a stand-off so it bears on the fascia rather than the tile or the gutter. The run was brushed through from the roof with a drill driven brush while the dryer ran, so the loosened material carried out through the jack instead of into the house. The throat was cleared to bare metal. We came back two days later to seat the original cap and set a new rivet. No components were replaced and no tile was cracked.

The duct throat behind the cap on arrival, packed solid with compacted lint.
BeforeThe duct throat behind the cap on arrival, packed solid with compacted lint.
Lint discharging at the jack as the run was brushed through with the dryer running.
DuringLint discharging at the jack as the run was brushed through with the dryer running.
Cap seated closed on the collar with a new rivet set, flashing undisturbed, roof left clear.
AfterCap seated closed on the collar with a new rivet set, flashing undisturbed, roof left clear.

No airflow readings were taken on this job and the report says so in plain language, because all of the work was done from the roof and the appliance connection was never accessed. It also records what remains unverified. A report that only tells you what went well is not a record.

Read the report (PDF)

Solar panel cleaning · Escondido · August 2026

An array that had gone several seasons.

The system was carrying a heavy soil band along the lower edge of every module, where runoff had been drying in place and leaving a mineral and dirt ridge at the frame. That band is the expensive one, because it shades full cell rows rather than scattered cells. Bird droppings and organic staining had collected at the upper edges of the main array.

Every roof plane was photographed before a tool touched glass. Modules were washed with a soft bristle method rated for photovoltaic glass and anti reflective coatings, no abrasives and no pressure washing. Frame edges were cleared so water sheets off rather than damming, then each plane was inspected for cracked glass, delamination, hot spot discoloration, loose clamps, and rodent intrusion under the array. Nothing was found that needed flagging. Recommended return is February 2027.

Dust film and dried runoff across the full module face.
BeforeDust film and dried runoff across the full module face.
The same glass after the wash and rinse, sheeting evenly with no streaking.
AfterThe same glass after the wash and rinse, sheeting evenly with no streaking.
Completed system across both roof planes, roof left as found.
ClosingCompleted system across both roof planes, roof left as found.

This is the report the homeowner received, with the name and street address removed.

Read the report (PDF)

In the homeowner's words

We had not had the panels cleaned since they went in and I honestly did not know how dirty they had gotten until I saw the photos. Two guys, tile roof, no drama, and they sent a full report the same day with before and after pictures of every section. They also told me nothing was cracked or damaged up there, which was the part I actually wanted to know. Booked them again for the spring.
Charlie, Escondido

Dryer vent cleaning and airflow verification · San Marcos · August 2026

Four feet of duct that still could not move air.

A four foot run with no elbows should move air freely. This one measured 470.3 FPM at the exterior termination with a discharge temperature of 127.9 F, which is what a heavily restricted run looks like. On a run that short, interval is the only explanation, and the volume of lint recovered at the outlet confirmed it.

The run was brushed end to end from the interior connection through to the termination, the lint expelled at the outlet was collected and removed from the site, and the transition duct was cleaned and reinstalled rather than replaced, because it was sound. The verification reading was taken at the same point with the dryer on the same cycle, so the two numbers are directly comparable.

470.3 → 821.2FPM at termination
74.6%Airflow gain
18.3 FCooler discharge
470.3 FPM at 127.9 F, measured at the exterior termination with the dryer running.
Before470.3 FPM at 127.9 F, measured at the exterior termination with the dryer running.
821.2 FPM at 109.6 F, same point, same cycle, after the run was cleared.
After821.2 FPM at 109.6 F, same point, same cycle, after the run was cleared.
Lint pulled from a four foot run. This volume is what a long interval looks like.
RecoveredLint pulled from a four foot run. This volume is what a long interval looks like.

Those two readings are now the recorded baseline for the property. Every future visit is measured against them, so changes show up as data instead of opinion.

Read the report (PDF)

In the homeowner's words

I called because the dryer was taking two cycles to finish a load. They measured the airflow before and after and showed me the numbers, which nobody has ever done for me. It went from 470 to 821, and the pile of lint they pulled out of a four foot run explained everything. In and out in about forty minutes and the laundry room was cleaner than they found it.
D'arbra, San Marcos

Cabinet floor repair · Escondido · August 2026

A slow leak, a failed cabinet floor, and what was living under it.

Water damaged particle board under a utility sink, soft enough that the cabinet floor had stopped being a floor. The sink stayed in place and the new decking went in around it in sections, which is slower to plan and far less invasive than pulling plumbing.

Cutting out the failed panel uncovered two rodent nesting sites and a dead rat beneath it. The cavity was vacuumed out and cleared, the entry points were sealed, a cleat was installed for bearing, and a plywood patch was set flush and the baseboard reattached. Sanitizing was not performed, and rather than leave that unsaid, it was written into the report as a pest control item for the homeowner to schedule.

Cabinet floor at arrival. Staining and separation across the full panel.
BeforeCabinet floor at arrival. Staining and separation across the full panel.
Nesting material under the cut-out section, photographed before anything was disturbed.
FoundNesting material under the cut-out section, photographed before anything was disturbed.
New plywood floor set flush on a cleat, entry points sealed.
AfterNew plywood floor set flush on a cleat, entry points sealed.

Seventeen timestamped photographs and a written completion report were filed to this property record. The rodent finding has its own section, and so does the part we did not do.

Read the report (PDF)

In the homeowner's words

The floor under my utility sink had rotted out from a slow leak. When they opened it up they found two rat nests and a dead rat underneath, took photos of all of it, and cleared it out. What I appreciated most is that they told me straight that they had not sanitized it and that I should get a pest control company in, instead of just charging me for it. Careful work and a written report at the end.
Martha, Escondido

Names, street addresses, phone numbers, and billing details are removed from anything we publish, and invoices are left out entirely. Nothing goes up without permission from the client. Everything else in these reports is exactly what the homeowner or association received.

Your property gets the same record.

The report is not an add on and it is not billed separately. It is what the visit produces, on the first job and on every one after it.