Nathan Gomes All projects

Project 06 - Real-estate expense intelligence

Financial Expense Analytics Dashboard

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.

Open the live app Read the walkthrough

nathan-invoice-review.onrender.com - free-tier instance, first load may take a moment to wake.

Role
Full stack - schema, API, interface, deploy
Stack
Next.js · TypeScript · FastAPI · Python · SQLite
Status
Live on Render
Demo data
565 sample invoices across a fictional portfolio
nathan-invoice-review.onrender.com/overview

Overview

Demo portfolio

Monthly spend

$37,371

Annual excess

$60,571

Needs review

10

PropertyIssueImpact
Cedar PlaceWater usage$17.6K
RiversideElectricity rate$19.3K
Harbour ViewGas usage$5.1K

The problem

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.

The workflow

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.

01

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.

02

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.

03

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.

Decisions

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.

Try it

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