Rental Property Analyzer answers one question — keep the rental or sell it — without sending a single financial assumption to a server.
The project is strongest because it is deliberately not AI-first. The valuable part is deterministic, auditable math in the browser, plus a downloadable Excel workbook where every projection stays a live formula instead of a dead exported number.
The product decision
Investment analysis needs trust more than novelty. A chatbot that produced a verdict would make this tool worse, because the user could not audit how the answer was reached. So the math is deterministic and every assumption is visible: cap rate, cash-on-cash return, current equity, monthly cash flow, a CAPM-derived hurdle rate, and NPV and IRR at a ten-year exit.
That boundary also makes the right AI extension obvious. A model should help ingest a messy listing into form fields — unstructured input to structured data, which is what models are genuinely good at. It should never compute the verdict. The model fills assumptions; the deterministic engine owns the analysis.
The export is the feature
The workbook downloads with five sheets, and the projections are written as real Excel formulas referencing the inputs sheet. Change a cell and the whole model recalculates.
That matters because the output outlives the app. You can hand it to a partner or an accountant, argue with the assumptions offline, and never need to trust my arithmetic — you can read it. A tool that produces a number asks for faith. A tool that produces a working model does not.
A privacy claim you can verify
The app claims your property data never leaves your device. That is exactly the kind of claim users normally have to take on faith.
So the page now carries a live network panel. It reads the browser’s own PerformanceResourceTiming entries and draws every request the page makes — DNS, TCP, TLS, waiting, download, per request. Open it and watch what happens after the initial page load: nothing. No API calls, no telemetry, no analytics beacons.
It cannot miss a request, including one it made itself, because it reads the browser’s own accounting rather than instrumenting the app’s code. A verifiable privacy claim beats a stated one, and building the instrument to prove it was more interesting than the claim.
Why this is a senior project
- The financial model is isolated from the UI, so it can be reasoned about and tested on its own.
- The output is inspectable by someone who does not trust the application.
- There is an explicit boundary for AI: extraction is allowed, financial judgment is not.
- The privacy claim is demonstrable rather than asserted.
What would raise it further
Correctness proof is next: golden-file tests comparing the domain metrics against known-good spreadsheets. After that, Monte Carlo simulation across rent growth, vacancy, and appreciation would replace a point estimate with a distribution and a probability of beating the hurdle rate.
Both upgrades push in the same direction — showing the engineering behind financial trust: reproducible formulas, tested calculations, and uncertainty modeled explicitly rather than hidden behind a single confident number.