I was asked to speak on a panel about multifamily maintenance tech by Adrian C Danila CAPS, CAMT

Instead of asking "how do we build the best maintenance tech stack," I, channeling Charlie Munger, asked: "How do we build the worst one imaginable?" The kind that makes techs quit, residents scream, and NOI bleed out while the dashboard still looks green.

Six viewpoints, same problems.

๐Ÿญ. ๐—ง๐—ต๐—ฒ ๐—ข๐˜„๐—ป๐—ฒ๐—ฟ: ๐—•๐˜‚๐˜† ๐—ฆ๐—ต๐—ถ๐—ป๐˜† ๐—ฆ๐˜๐˜‚๐—ณ๐—ณ, ๐—ฆ๐—ธ๐—ถ๐—ฝ ๐˜๐—ต๐—ฒ ๐— ๐—ฎ๐˜๐—ต

Buy every platform the trade show salesperson demos over lunch. AI-powered something. IoT sensors in the toilets. Predictive maintenance that predicts nothing. Sign three-year contracts with four vendors whose systems refuse to speak to each other like rival in-laws at Thanksgiving.

Don't measure a baseline. Don't track tech wrench time. Don't ask what a completed work order even means. When the board asks about ROI, screenshot the dashboard. Dashboards feel like progress.

Chase the newest thing every 18 months. The sunk cost in training and lost productivity doesn't show up on a P&L, so it must not exist.

๐Ÿฎ. ๐—ง๐—ต๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ฝ๐—ฒ๐—ฟ๐˜๐˜† ๐— ๐—ฎ๐—ป๐—ฎ๐—ด๐—ฒ๐—ฟ: ๐——๐—ฒ๐—ฎ๐˜๐—ต ๐—ฏ๐˜† ๐—Ÿ๐—ผ๐—ด๐—ถ๐—ป

Give the PM five separate logins. Different passwords, different expiration cycles, no single sign-on. The first 20 minutes of every shift is now a password reset ritual.

Make the work order form require 14 fields before submission. Building. Floor. Category. Subcategory. Priority. Pet on premises. Resident preferred time window. Alternate phone. Backup alternate phone. Astrological sign.

The PM stops using the system. She texts the tech directly. Corporate sees zero open tickets and throws a pizza party.

๐Ÿฏ. ๐—ง๐—ต๐—ฒ ๐—ฅ๐—ฒ๐—ด๐—ถ๐—ผ๐—ป๐—ฎ๐—น: ๐—™๐—น๐˜†๐—ถ๐—ป๐—ด ๐—•๐—น๐—ถ๐—ป๐—ฑ.

Give each property in the portfolio a different tech stack. Yardi here. Entrata there. AppFolio down the road. RealPage out west. The regional can't compare anything. Work order aging at Property A means something completely different than Property B.

Build dashboards with no drill-down. The regional sees "12 open work orders over 7 days." Which ones? Click. Loading. Error. Refresh. Loading. Now it's Friday at 5pm and nobody knows.

Let vendor invoices float in a totally separate system from work orders. Duplicate payments happen. Fraud happens. Nobody catches it for 11 months. And when they do, the regional gets the email.

๐Ÿฐ. ๐—ง๐—ต๐—ฒ ๐—ง๐—ฒ๐—ฐ๐—ต.

This is where the damage gets real.

Give him a tablet. Make the app clunky and slow. Require a before photo, a during photo, an after photo, GPS-tagged, timestamped. Force him to close the ticket while holding a dripping P-trap with his other hand.

The app crashes. Ticket reopens. He closes it again. It reopens again. He punches the wall. Now there's a new work order.

The PM coded it "leaky faucet." Tech arrives, and it's a burst supply line behind the wall. The app won't let him recategorize without a supervisor override. The supervisor is at another property. The one-star Google Review is already half-written in the resident's head.

Build an inventory system that punishes honesty. Every part requires a scan, a reason code, a photo, and a unit association. The tech just stops logging parts. Inventory shows full shelves that are actually empty. He drives to Home Depot on his own dime.

And never, ever let the tech into the room when the tech gets selected . The regional picked the platform because the VP of Ops picked it because the trade show had a good lunch. The guy who uses it 40 hours a week wasn't invited.

Then measure him on ticket velocity alone. Not quality. Not callbacks. Not resident sentiment. Just speed. He learns to close fast and fix slow. Callbacks explode. He gets blamed for hitting the metric the system told him to hit.

๐Ÿฑ. ๐—ง๐—ต๐—ฒ ๐— ๐—ฎ๐—ถ๐—ป๐˜๐—ฒ๐—ป๐—ฎ๐—ป๐—ฐ๐—ฒ ๐—ฆ๐˜‚๐—ฝ๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐˜€๐—ผ๐—ฟ: ๐—ง๐—ต๐—ฒ ๐— ๐—ผ๐˜€๐˜ ๐—จ๐—ป๐—ฑ๐—ฒ๐—ฟ๐—น๐—ฒ๐˜ƒ๐—ฒ๐—ฟ๐—ฎ๐—ด๐—ฒ๐—ฑ ๐—ฃ๐—ฒ๐—ฟ๐˜€๐—ผ๐—ป ๐—ถ๐—ป ๐— ๐˜‚๐—น๐˜๐—ถ๐—ณ๐—ฎ๐—บ๐—ถ๐—น๐˜†

Give him no scheduling tool. He assigns tickets by walking into the shop and yelling names. Joe has 14 open tickets. Maria has 2. Neither of them knows.

Bury the warranty data. Unit 3B's water heater was replaced 14 months ago and is still under warranty. Nobody can find the install record. The supervisor approves a new $1,400 unit. The old warranty expires quietly in a filing cabinet that hasn't been opened since the Obama administration.

Make knowledge transfer impossible. When the senior tech retires after 22 years, all the tribal knowledge walks out with him. Where's the main shutoff for Building 4? What's the trick to the boiler in Building 7? Which units have galvanized supply lines? None of it documented. The supervisor rebuilds the playbook from scratch, painfully, through mistakes that flood things.

๐Ÿฒ. ๐—ง๐—ต๐—ฒ ๐—ฅ๐—ฒ๐˜€๐—ถ๐—ฑ๐—ฒ๐—ป๐˜: ๐—ง๐—ต๐—ฒ ๐—ฃ๐—ฒ๐—ฟ๐˜€๐—ผ๐—ป ๐—”๐—ฐ๐˜๐˜‚๐—ฎ๐—น๐—น๐˜† ๐—ฃ๐—ฎ๐˜†๐—ถ๐—ป๐—ด ๐—ณ๐—ผ๐—ฟ ๐—”๐—น๐—น ๐—ผ๐—ณ ๐—ง๐—ต๐—ถ๐˜€

Force them to download a 400MB app that wants location permissions, camera permissions, contact permissions, and somehow a Facebook login. They use it once, then call the office forever.

Make the submission form ask 11 questions before they can describe the problem. The resident gives up and types "water everywhere please help" in the generic description field. The system routes it to "general inquiry." Tech gets it 36 hours later. The ceiling below is already gone.

Never confirm the ticket was received. The resident assumes it vanished into the void, so they submit again. And again. Three duplicate tickets for the same toilet. The tech arrives three separate times. The Yelp review begins with "Do NOT move here."

๐—ง๐—ต๐—ฒ ๐—ก๐—ฎ๐—ฟ๐—ฟ๐—ฎ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ง๐—ต๐—ฎ๐˜ ๐—ฃ๐˜‚๐—น๐—น๐˜€ ๐—œ๐˜ ๐—”๐—น๐—น ๐—ง๐—ผ๐—ด๐—ฒ๐˜๐—ต๐—ฒ๐—ฟ

A mid-size owner buys a 300-unit property. They rip out the seller's tech stack in month two and install six new platforms chosen by corporate. No tech in the room. No supervisor consulted. The PM gets a training video she watches at 2x speed while eating lunch.

By month four, techs are closing tickets on paper and entering them at end of day. The data is six hours stale, minimum. The regional's dashboard looks clean because tickets that never got entered don't exist.

By month six, the best tech quits. He went to the competitor across town that still uses the old system. The new tech takes three months to ramp. Turn times slow. Make-ready quality drops. Move-in complaints spike.

By month nine, residents are leaving 2-star Google reviews. The operator hires a reputation management vendor to respond to the reviews. The actual problem stays.

By month twelve, NOI is down 6%. Owner blames the operator. Operator blames the techs. Techs blame the tools. Nobody blames the decision to buy tools nobody was trained on, without talking to the people who would use them, without measuring anything before or after.

The tech stack was sold as efficiency. It delivered entropy.

๐—ง๐—ต๐—ฒ ๐—œ๐—ป๐˜ƒ๐—ฒ๐—ฟ๐˜€๐—ถ๐—ผ๐—ป ๐—Ÿ๐—ฒ๐˜€๐˜€๐—ผ๐—ป

Munger's point isn't that inversion hands you the answer. It shows you the landmines.

The best maintenance tech stack isn't the one with the most features. It's the one that:

โ€“ got chosen with techs in the room โ€“ measures something specific before and after โ€“ captures what the senior tech knows before he retires โ€“ respects the resident's time (when was the last time you submitted a work order on your own property's app?) โ€“ serves the workflow, not the dashboard

Every horrendous outcome above has the same root cause: the people buying the tech are not the people using the tech.

Invert that. Everything else follows.

๐—ค๐˜‚๐—ฒ๐˜€๐˜๐—ถ๐—ผ๐—ป ๐—ณ๐—ผ๐—ฟ ๐˜๐—ต๐—ฒ ๐—ฟ๐—ผ๐—ผ๐—บ:

Which of these six landmines has your portfolio stepped on this year? I'm betting most of us have stepped on at least three.