Web application / Property & AI

nReport.

nreport.ai

From property details to a PDF report.

nReport connects property data entry, user accounts and report generation. React and TypeScript handle the interface, Supabase handles authentication and data, and a separate API processes report requests.

OUR ROLE
Design and development
TECHNICAL FOUNDATION
React + Supabase
TECHNOLOGIES
  • React
  • TypeScript
  • Supabase
  • API integrations
EXPLORE THE EXPERIENCE
nReport: property address entry and an example of a clearly structured report
TECHNICAL OVERVIEW

How the solution is built.

The key components and what they do.

  1. 01React + TypeScript

    User interface

    Property data entry, user accounts and report overview.

  2. 02Supabase

    Data and access

    User authentication, data storage and server functions.

  3. 03API + PDF

    Report generation

    Connecting the request with report processing and the final document.

TECHNICAL IMPLEMENTATION

From request to report.

The interface, data and report processing are separate. Requests enter a queue, generation runs in the background, and the customer follows progress until the document is available.

nReport architecture: the React interface and Supabase send a request to the Hono API. Redis and BullMQ pass it to a worker that retrieves data, checks quality and creates a PDF. Storage is followed by owner review and customer access.
  1. 01 / React · TypeScript · Vite / Vercel

    Web application

    The interface guides the customer from entering a property to ordering, following progress and downloading the report.

  2. 02 / Supabase Edge Functions

    Edge Functions

    Handle orders and credits, check access rights and prepare the server-side request for report generation.

  3. 03 / Node.js · TypeScript · Hono / Railway

    Report API

    The API creates a job record in the database and adds it to the processing queue.

  4. 04 / Redis · BullMQ / Railway

    Job queue

    A durable queue separates accepting a request from processing it. Failures can be retried with a delay.

  5. 05 / Worker / Railway

    Background processing

    The worker retrieves property data, generates grounded AI narratives and market analysis, checks facts and quality, and records progress.

  6. 06 / Handlebars · Gotenberg

    Document generation

    After the quality checks pass, verified facts and appendices are assembled as HTML and converted to PDF.

  7. 07 / Supabase Storage

    Document storage

    Storage separates versioned report PDFs from private registry evidence.

  8. 08 / Paid report / review mode

    Owner review

    In review mode, the first delivery of a paid report waits for approval and checks of the required land-registry evidence.

  9. 09 / Dashboard · PDF · email

    Report access

    After approval, the report is available to the customer. An Edge Function handles email delivery.

A separate job queue enables background processing, while live status updates connect the process back to the customer interface.

Identity, data and progress

Supabase Auth and PostgreSQL with Row Level Security store orders, credits, property facts and generation history. Realtime sends changes to the interface; periodic polling provides a fallback.

Payments and credits

Stripe sends a signed webhook to an Edge Function. The confirmed purchase is recorded in the credit system.

Data sources and AI

Processing combines Google Maps, GURS, ETN, the listings archive, spatial sources and registry evidence. LLM APIs generate narratives that the system validates against the underlying facts.

Open the full diagram

A simplified source-level overview of a paid report in review mode. Failed quality checks hold generation for review. During a GURS outage, a job can wait and resume when the source recovers; free previews follow a restricted flow without an LLM.

OUR ROLE

Design and development

  • Data entry and validation
  • User accounts
  • Report API integration
  • PDF preview and download

Project capture: November 2026.

01

User journey and data

The React interface breaks ordering a report into steps, from entering property details to viewing the result. TypeScript connects forms and data structures, while Supabase provides the foundation for user accounts and data access.

02

Report processing integration

Server functions connect the application with a separate report generation API. The interface shows processing status, keeping request submission and the availability of the final document as distinct steps.

03

The report as the final output

Users can view and download the result as a PDF. The presentation distinguishes an indicative estimate, uncertainty range and source data, and explains the difference between a report and a formal valuation.

View the live project
Next projectForma X
The next step is a conversation.

Have an idea?
Let's give it shape.

Where will your idea take you?

15 results to explore

QUICK LOOK / SELECTED PROJECTS
Online shop

Fragnatium

fragnatium.com
Fragnatium online shop with a selection of fragrances and a dark hero design

Design and developmentA fragrance catalogue, product variations and discovery set builder on WooCommerce.

  • WordPress
  • WooCommerce
  • PHP
  • JavaScript
Technical overview
01 / 09
Project preview