Apartment List~4 min read

Can a compliance tool be safer than doing it by hand?

Fees, policies, and disclosures could be written once and applied at the right scope. The premise was simple: a confidently wrong compliance tool is worse than none.

  • Role: Product strategy and design
  • Timeline: 3 weeks
  • Team: 1 engineer, me
  • Impact: 80% compliance
  • Platform: Web
The legal compliance dashboard displayed on a laptop in an ornate hall.

The question was safety, not convenience

Property managers were applying state, city, and community rules by hand across entire portfolios. One missing fee or outdated disclosure could trigger a triple-damages lawsuit. Regulators were circling, and Legal was raising alarms.

We had three weeks and one engineer. We shipped one hub where fees, policies, and disclosures are written once and applied at company, state, or community scope. The decision that mattered was templates over automation, made on risk rather than usability.

What I owned

I owned

  • Product strategy and design
  • Research with enterprise and mid-market property managers
  • The call to template rather than automate, and the argument for it
  • Three versions of the template model, two of which were dead ends
  • The scope model: company, state, and community application levels

Shared with Legal and the engineer

  • Which regulations the templates had to cover, and what counted as airtight: Legal’s call, not mine

Problem

Why trust the system to keep you safe when it had not earned that trust?

Property managers were juggling state, city, and community rules by hand. Three things kept breaking: policies varied by state and city with nowhere to keep them together; disclosure forms were inconsistent across a portfolio; and missing or incomplete audit trails meant no one could prove what had been applied, or when.

One missing fee, wrong disclosure, or outdated document could trigger a triple-damages lawsuit.

Could automation be trusted in three weeks?

What could we safely ship in three weeks?

The choices were automated regulation detection, templates applied at a chosen scope, or a checklist without enforcement. We had three weeks and one engineer against statutes carrying triple damages.

We chose templates with a human checking them before they went out. A compliance tool that is wrong is worse than none: property managers applying rules by hand knew they might be wrong, but a system that says they are covered when they are not turns an anxious guess into a confident mistake, and the statute does not care which was made. Automation would have had to be right on its own, which we could not prove in three weeks; templating puts a person between the system and the filing. It shipped, with Legal signing off on the language rather than an inference engine.

The third scope model made the cut

Why did the third scope model finally work?

We considered applying based on the selected fee, dynamically detecting applicable regulations, or author-selected explicit scope. The first bulk-applied version did not scale beyond one portfolio shape. The second pulled in regulations to flag issues automatically; it solved scalability but was not technically feasible, and my note at the time was that it was too clever for its own good.

We chose explicit scope: the author chooses and can see whether a fee, policy, or disclosure applies at company, state, or community level. That adds work per rule, repeatedly across portfolios with hundreds of communities, so we included bulk edits across management-company levels, which partners had asked for first. Version three shipped and was the least interesting of the three.

The fee authoring form, with an “Applicable to” selector offering Company, State, or Community scope.
What shipped: write a fee once, then choose its reach. Company scope applies it to every community in the portfolio.
Disclaimer templates applied to a listing.
Reusable disclosure templates, each carrying its statute citation.
An overlay surfacing a disclosure in context.
The disclosure appears where the decision is made.

What made the cut

One hub for fees, policies, and disclosures, each applied at company, state, or community scope. Reusable disclosure templates with the governing statute cited. License status tracked instead of remembered. Bulk edits across management-company levels.

License tracking across properties.
License status, tracked instead of remembered.
Bulk editing compliance settings across listings.
Bulk edits, the thing partners asked for first.

What the renter sees

A listing page for Vesty Park with a Rent Savings banner, a match summary, the leasing office contact, a location map, and an expanded Rental costs and fees section itemising estimated monthly cost of $1,699, monthly rent, parking fee, pet fee, security deposit, and administration fee, closing on a disclaimer that pricing is subject to change.
Costs and fees, itemised on the listing, with the estimate disclaimer attached to the numbers rather than buried in a footer.
The same listing collapsed to a headline price of $2,469 with an estimated rent with specials of $2,234, the fee breakdown hidden, and the space given instead to price and availability filters and four unit cards.
The same listing with the breakdown collapsed. Faster to scan, and the fee total a renter is legally owed is now a tap away rather than on the page.

What we could measure

0%

Compliance

A target I set and read after launch; still at this level when I left Apartment List in 2024. This figure needs more behind it than it has: what population the 80% covers, what it was beforehand, and who produced the measurement. Until that is written down it should be read as a target that was met rather than as an audited result.

The central argument was never challenged

The two failed versions were both mine: a bulk-apply model that did not scale, and an automatic-detection model that was not buildable. The third, explicit-scope version shipped. That is iteration, not disagreement.

Nothing here records anyone arguing that automatic coverage with a small error rate was better than manual coverage that partners must think about. I still believe a confidently wrong tool is worse than no tool, but I never had to defend that view against its strongest alternative. I do not know whether it would have held.

Sam Cusano