Example St duplex
Owned- Latest value
- $318,000
- Current rent
- $1,650/mo
- Next due
- in 21 days
- Open repairs
- 1 · High
100 Example St, Sampleton, NC
Services
Website buildCustom-coded, fast, no page buildersApplication buildInternal tools, portals, multi-tenant productsAI agentsScoped permissions, full activity log, kill switchInnovation consultingI diagnose one problem and prototype the fixCollege coachingCourse strategy, portfolio, internships, interviewsCompany interviewI come to you, interview your team, and post itMore
ProductsHow we workAsk AIAboutRental Manager · Early access
Taxes, insurance, repairs and cash-flow projections for every property you own, and every number says where it came from.
Portfolio value
$742,000
Sum of latest logged values
Monthly rent
$5,125
$61,500 annualised
Open repairs
2
Review
Next renewal
Oct 15
Insurance · in 21 days
100 Example St, Sampleton, NC
200 Sample Ave, Sampleton, NC
Trailing 12 months
Largest expense: Mortgage $26,400
Sample data. Every property, name and number on this page is made up.
Portfolio at a glance
Every property gets a card. Hover or tap one to turn it over for the money side — rent, value, equity, taxes and insurance — and the full picture opens beside it.
100 Example St, Sampleton, NC · PIN 0000-00-0001 · built 1998 · 2,100 sqft
Latest value
$318,000
Appraised · Mar 2026
Current rent
$1,650
J. Doe
Next due
Oct 15
in 21 days
Open repairs
1
High
Bought Jun 2019 for $240,000 · $78,000 change since purchase
Repairs and quotes
Log the repair, collect quotes from as many contractors as you like, and see the lowest at a glance. The price on a repair always says what it's based on: an accepted quote, the lowest so far, or the final bill.
Step 1 of 5: Log the repair.
Description
Water heater leaking in garage
Urgency
High
AI property inspection
Coming soonThis one isn't built yet. The plan: you'll upload a photo of a property, AI will flag likely problems — missing shingles, a sagging gutter — and you'll decide which ones become repair tickets. Try the mockup below to see the idea.
A demo of how it could work. No model runs here.
Run the analysis to see what it would flag.
Nothing yet. You decide what becomes a ticket.
When it ships: AI suggests, you confirm. Nothing will happen without your approval.
Projections
A year-by-year cash-flow forecast that starts from your own records. Move the sliders; anything that isn't from a record is marked as an assumption.
Profitable from
2027
Cash back by
2035
Year 1 cash flow
$4,665
Cash-on-cash
8.5%
Year 1
Using assumptions for other costs ($3,600/yr for HOA and upkeep). Every slider below is an assumption too.
Illustrative projections only. Not financial advice.
Taxes and insurance
Unpaid taxes and upcoming policy renewals across every property, with the bill or the policy attached. Hover a date to see its document.
6 upcoming · $9,560 total · 1 overdue
Due Oct 15, 2026 · $1,240.00· opens through a 60-second link
How it works
Pages are rendered on the server, every form goes through a checked server action, and the database itself refuses to show one landlord's data to another.
The server, and only the server, also calls
Three checks on every request: a route guard, a signed-in check on every page and action, and Postgres Row-Level Security as the last word. Asking for someone else's property returns a 404.
Every tax bill, repair and quote is tied to its property and its owner together, so the database itself refuses a record that crosses users.
Uploaded bills and policies sit in a non-public bucket. Opening one creates a link that expires after 60 seconds, and that link is never written into the page.
PDF, JPG and PNG only, identified by the file's actual bytes rather than its name. 10 MB cap, server-generated file names, path tricks rejected.
Insurance policy numbers are encrypted with AES-256-GCM before they're stored and shown masked, like ••••1234.
Database triggers record each insert, update and delete, with the values before and after.
Built with
Early access
If you're keeping track of taxes, renewals and repairs in a spreadsheet and your head, I'd like to hear how you do it. Leave your details and I'll be in touch when there's a spot.