Real estate · App Starter
Rent ledger, lease lifecycle, maintenance tickets, and a tenant portal — generated into code your company owns.
Describe your portfolio — how many doors, how you charge, who fixes what — and Dual7 generates this property management app around it: six connected entities, a tenant portal, and a rent ledger that adds up. Per-unit software pricing scales against you; a codebase doesn't.
01 · Data model
Property management is bookkeeping with buildings attached, and it lives or dies on the schema. Six connected entities drive every screen below — and because they generate as code, your portfolio's quirks become columns instead of workarounds.
| table | what it holds |
|---|---|
properties | Buildings and assets under management — address, owner, type — with units, leases, and maintenance history rolled up per property. |
units | The rentable spaces — unit number, beds and baths, market rent, and the occupancy status the vacancy view reads from. |
tenants | The people on your leases — contact details, move-in history, and every payment and request they've ever filed. |
leases | Terms binding a tenant to a unit — start, end, rent, deposit, status — the record the renewal calendar and notices hang off. |
rent_payments | The ledger rows — amount due, amount received, date, method, late fees — that balances, arrears, and owner statements are computed from. |
maintenance_requests | Reported issues with priority, status, assigned vendor, and cost — from tenant report to closed ticket, with each property's history intact. |
02 · Screens
Every unit's money story in one place: charges posted, payments received, balances aged. Arrears surface by days late rather than by tenant complaint, and owner statements become a report instead of a monthly spreadsheet ritual.
Leases move through draft, active, renewal, and end — with the renewal window flagged early enough to act on. Rent changes, notice dates, and deposit handling live on the lease record, where the history stays auditable.
A tenant report becomes a ticket with priority and photos; triage assigns a vendor; cost lands on the property when it closes. The building's repair history accumulates where the next 'why does unit 4B keep flooding' question can find it.
Tenants see their lease, their balance, and their requests — and file new ones with photos — without a phone call. Fewer did-you-get-my-message threads, and a written record on both sides.
03 · Process
Tell Dual7 what you manage — single-family doors, multifamily buildings, a mixed bag — plus how rent is charged, how maintenance gets handled, and who the owners are. Plain language is the input.
Get the working app in minutes, then bend it to your operation conversationally: add a pet-deposit field, change the late-fee rule, put utility billing on the ledger. Each change is inspectable code.
Ship to your own infrastructure through approval gates with an audit trail. Tenant data sits in your database under your policies — a fact your owners and your insurer will both appreciate.
04 · Fit
Somewhere between five and fifty doors, the spreadsheet stops being a system: late rent hides, lease dates surprise you, and maintenance lives in text messages. This is the smallest real replacement — the same facts, plus a ledger, a renewal calendar, and a portal.
When software charges per unit per month, growth raises your costs in lockstep with your revenue. Owning the codebase caps it: the five-hundredth door costs a database row, and the portal carries your brand, not your vendor's.
Properties acquired over years arrive with different rent rolls, lease formats, and vendor lists. Generating one system around your actual portfolio — then importing everything into one schema — turns a shoebox of conventions into one set of books.
Student housing by the room, mid-term furnished stays, mixed commercial-residential buildings — every niche has rules generic software half-supports. Here the niche is the spec: your rules generate into the schema instead of living in workarounds.
05 · Yours
Start by making the vocabulary yours — units to rooms, tenants to residents — then add the fields your operation runs on: inspection dates, utility meters, parking assignments, guarantor details. In Vibe mode these are conversational changes that flow through schema, screens, and reports together.
Structural additions are ordinary code changes: an owners entity with per-owner statements and distributions, a vendor view for maintenance assignment, an inspection checklist module, or a payment-provider integration that posts straight to the ledger. The generated app is a standard codebase with no runtime dependency on Dual7.
Property management software bills by the unit, which means your vendor's revenue grows every time yours does — while your rent roll, tenant history, and owner relationships sit in a database you can only reach through their export button. Generating the system as code you own ends both: no per-door fee, and the books of your business live in your own database from day one.
In exchange, you run an application. The governed pipeline is designed to make that a controlled responsibility rather than a leap — approvals before changes reach production, an audit trail of what changed and when, and regeneration when the portfolio outgrows the current structure.
06 · Industries
It keeps the ledger — charges, receipts, balances, late fees. Moving money needs a payment provider, and because the app is your code, wiring one in posts receipts directly to the ledger rather than leaving you to reconcile a vendor's report against your books.
Properties link to owners, and statements roll up each owner's rent received, costs incurred, and net position for the period. Fee structures vary wildly between managers — which is exactly why a schema you can edit beats a settings page you can't.
Late-fee rules are readable logic in your codebase — grace days, flat or percentage, caps — and rent changes are dated rows on the lease, so history is preserved. Jurisdictions differ; your copy of the rules can match yours precisely.
Tenants get the portal out of the box — lease, balance, maintenance requests. Vendor access is a natural extension: an assigned-jobs view is a screen away in a codebase you own, rather than a higher pricing tier.
The base starter models tenancies — leases, monthly rent, long-lived tenants. Vacation rentals invert nearly all of that, so there's a dedicated vacation rental version of this starter with guest bookings, turnovers, and per-stay payouts built in.
Dual7 App Starters
Rent ledger, lease lifecycle, maintenance tickets, and a tenant portal — generated into code your company owns. Describe your version to start — the output is a project you own.