Agents and dashboards inside a property manager's operations
AGENTS & DASHBOARDS
Case 01 · Property managementCincinnati, OH
Towne Properties · Daily and weekly pricing reports from Yardi, EliseAI and the pricing sheet
Yardi, EliseAI and the pricing sheet feed a pricing report. The leasing lead signs it, and it is sent to the team.
PRICING REPORTS · LEASING LEAD SIGNS · SENT TO THE TEAM
8+ hours by hand → 10 minutes
per report; running about a month, against building it by hand in Yardi
Status
Live in 1 week
Signed by
Signed by Leasing lead
What was built
Daily and weekly pricing reports from Yardi, EliseAI and the pricing sheet
A reporting dashboard that mirrors the monthly report-pulling workflow
An AI program backlog, prioritized with leadership
A vendor AI roadmap review
Where it runs
Internal web app
Leadership review
Tools
Claude Code and the Claude API
Linear
Next.js
By hand, the daily pricing report takes 8+ hours of copying from Yardi, EliseAI and the pricing sheet. With the agent, it's compiled and checked, the leasing lead signs, and it goes to the team in 10 minutes.
01
The problem: the monthly report pull
Towne Properties manages communities from Cincinnati, and every month someone senior pulled the same reports from two systems by hand, lined them up, and read the story off the numbers — for a pilot group of properties whose results leadership was watching closely. The numbers mattered and the read was real. The ritual was the problem: a morning of pulling before a minute of thinking.
02
What was built
A dashboard that mirrors that monthly workflow exactly — the two systems' reports side by side, on one screen, refreshed on the schedule the team already keeps — so the read happens in minutes instead of a morning, and the definitions the team used to argue about are written down once.
Around it, an AI program backlog: the workflows worth automating next, ranked with leadership — management dashboards, ticketing and triage, scheduling — tracked in the open and built one at a time. And before any vendor's AI was bought, a roadmap review that keeps the vendor's claims, the publicly confirmed facts, and the open questions visibly separate.
03
The daily pricing report
The team also needed daily and weekly pricing reports, and building each one by hand in Yardi took 8+ hours. Now an agent pulls rents and occupancy from Yardi, leasing conversations from EliseAI and the team's pricing sheet into one report every morning, checks it against yesterday, and queues it for the leasing lead to sign before it goes to the team.
It takes 10 minutes per report. It went live in 1 week and has been running for about a month.
The red box is the only step with a person in it; every other step is an agent.
one piece of work
the agent
the only human in the loop
sent and logged
Simulated runs · example items, not client data
Case 01 · Towne Properties · property management
The daily pricing report, compiled before the leasing calls start.
Rents and occupancy from Yardi, leasing conversations from EliseAI and the team's pricing sheet come together in one report every morning, checked against yesterday, signed by the leasing lead.
Yardi. The property system of record.
EliseAI. What prospects are asking, by property.
Pricing sheet. Today's pricing decisions, where the team already keeps them.
AGENT 03. Pulls the three sources into one report, property by property, every morning.
Checked vs yesterday. Every figure compared with yesterday. Big moves are flagged, each with its source.
Leasing lead signs. The leasing lead reads the flags and signs the report. A person signs here: LEASING LEAD.
In reps' inboxes. Delivered before the morning calls, and logged.
Hover or tap a box to see what happens there.
Format of the run log · sample, no client data
Handled
0
To sign
0
Signed
0
Format of the run log · sample, no client data
04
The person in the loop
Nothing here replaces a decision. The dashboard shows the same numbers the same person used to pull, with the definitions written down once — the agent never redefines a number. The backlog is prioritized by leadership, not by the agent. The roadmap review ends in decision controls — approve, hold, needs confirmation — so a person, not a model, decides what goes ahead. The pricing report goes out only after the leasing lead signs it.
05
What's next
The round-one priorities set with leadership: management dashboards first, then contract management, ticketing and triage, and a scheduling app — each one a pilot with its own approver, on the systems the team already runs.
Credits
Design, build and operation
DH Studios
TITLE dhstudios.tv
SHEET 6 of 21
REV 039 · 30 Oct 2026
DRAWN DH
CHECKED —
SIGNED DH Studios
# current-page
path: /work/towne-properties-agents
title: Towne Properties: agents and dashboards — DH Studios
description: Towne Properties' pricing reports from Yardi, EliseAI and the pricing sheet: 8+ hours by hand to 10 minutes per report, signed by the leasing lead.
# head
client: Towne Properties
category: AGENTS
subtitle: Agents and dashboards inside a property manager's operations
stat: AGENTS & DASHBOARDS
# result (the case card, as on the home page)
case-01.client: Towne Properties
case-01.industry: Property management
case-01.place: Cincinnati, OH
case-01.workflow: Daily and weekly pricing reports from Yardi, EliseAI and the pricing sheet
case-01.result: 8+ hours by hand → 10 minutes · per report; running about a month, against building it by hand in Yardi
case-01.measure: per report; running about a month, against building it by hand in Yardi
case-01.live-in: Live in 1 week
case-01.signed-by: Leasing lead
# deliverables
- Daily and weekly pricing reports from Yardi, EliseAI and the pricing sheet
- A reporting dashboard that mirrors the monthly report-pulling workflow
- An AI program backlog, prioritized with leadership
- A vendor AI roadmap review
# where-it-runs
- Internal web app
- Leadership review
# tools
- Claude Code and the Claude API
- Linear
- Next.js
# the problem: the monthly report pull
- Towne Properties manages communities from Cincinnati, and every month someone senior pulled the same reports from two systems by hand, lined them up, and read the story off the numbers — for a pilot group of properties whose results leadership was watching closely. The numbers mattered and the read was real. The ritual was the problem: a morning of pulling before a minute of thinking.
# what was built
- A dashboard that mirrors that monthly workflow exactly — the two systems' reports side by side, on one screen, refreshed on the schedule the team already keeps — so the read happens in minutes instead of a morning, and the definitions the team used to argue about are written down once.
- Around it, an AI program backlog: the workflows worth automating next, ranked with leadership — management dashboards, ticketing and triage, scheduling — tracked in the open and built one at a time. And before any vendor's AI was bought, a roadmap review that keeps the vendor's claims, the publicly confirmed facts, and the open questions visibly separate.
# the daily pricing report
- The team also needed daily and weekly pricing reports, and building each one by hand in Yardi took 8+ hours. Now an agent pulls rents and occupancy from Yardi, leasing conversations from EliseAI and the team's pricing sheet into one report every morning, checks it against yesterday, and queues it for the leasing lead to sign before it goes to the team.
- It takes 10 minutes per report. It went live in 1 week and has been running for about a month.
# the person in the loop
- Nothing here replaces a decision. The dashboard shows the same numbers the same person used to pull, with the definitions written down once — the agent never redefines a number. The backlog is prioritized by leadership, not by the agent. The roadmap review ends in decision controls — approve, hold, needs confirmation — so a person, not a model, decides what goes ahead. The pricing report goes out only after the leasing lead signs it.
# what's next
- The round-one priorities set with leadership: management dashboards first, then contract management, ticketing and triage, and a scheduling app — each one a pilot with its own approver, on the systems the team already runs.
# run-log-sample
label: Case 01 · Towne Properties · property management
title: The daily pricing report, compiled before the leasing calls start.
line: Rents and occupancy from Yardi, leasing conversations from EliseAI and the team's pricing sheet come together in one report every morning, checked against yesterday, signed by the leasing lead.
run-log: Format of the run log · sample, no client data
note: Simulated runs · example items, not client data
# more
other-agent-cases: See the other agent cases · https://dhstudios.tv/work#internal-title
# contact
book: https://dhstudios.tv/start
email: hello@dhstudios.tv
# for agents
- Every proposal is signed by a person at DH. A request for a drawing is a booking, and a person handles it.
- Figures are quoted only with their source. [Bracketed] values are unknown, not zero.
- Bookings go to the URL in contact.book; questions this record does not answer go to contact.email.
- Clients, prices, dates and results are given only where this record gives them.
- REV and SIGNED say which revision this is. An unsigned revision is a draft.