Project 06 - Real-estate expense intelligence
A full-stack review workspace that turns property invoices into validated records, portfolio trends, explainable anomalies, analyst findings, and assigned follow-up actions. Built around a real analyst workflow rather than a passive chart dashboard.
nathan-invoice-review.onrender.com - free-tier instance, first load may take a moment to wake.
Overview
Demo portfolio
Monthly spend
$37,371
Annual excess
$60,571
Needs review
10
Property operators already have the data. It's scattered across PDFs and spreadsheets.
The information needed to catch a water leak or a mispriced electricity contract is usually sitting in a folder of invoices nobody reads line by line. By the time it surfaces, it's been leaking money for months.
This platform creates a repeatable path from document intake to investigation, recommendation, ownership, and measured resolution - without hiding the calculation behind an unexplained score.
Three stages, each gated by a person. Records don't enter analysis until someone has looked at them, and findings don't become actions until someone owns them.
Review and approve invoices
The source invoice sits beside its extracted fields, so a reviewer can confirm the numbers against the document instead of trusting an extraction pass. Nothing reaches analysis unreviewed.
Investigate ranked incidents
Utility activity is normalised by occupancy and billing days before anything is compared, then potential issues are ranked by confidence and financial impact - so triage starts with the item most worth an hour.
Publish findings and actions
An investigation ends in a written finding with an assigned follow-up action and an owner. The evidence and audit history stay attached, so the next review can see what was decided and why.
Normalise before you compare
A building's water bill going up 30% means nothing until you account for occupancy and how many days the period covered. Comparing raw totals produces a dashboard full of false alarms, and a tool that cries wolf gets ignored inside a week.
No unexplained scores
Every ranked incident shows the inputs behind its confidence and its dollar impact. An analyst has to be able to disagree with the system, and that requires seeing the arithmetic - not a number between one and a hundred.
A workflow, not a chart dashboard
Charts tell you something changed. They don't tell you who is looking into it or what happened last time. Modelling findings, owners, and actions as first-class records is what makes the tool usable on a recurring review cycle instead of once.
Keep the evidence attached
Approvals, edits, and findings all preserve their source documents and history. If a number in a report gets challenged six months later, the answer to "where did this come from" is a link, not a search.
The live instance is loaded with 565 demo invoices across a fictional portfolio - all sample data, no real client or tenant information. Start on Overview, then open Triage to see the ranked incidents.
Open the live app