The product

Everything that is built

Not screenshots — these links open the real application, served under this domain. Nine of them are a finished screen with no server behind it yet, and each one says which.

10

Working end to end

A real server answers.

5

Sample data

Screen finished, service not written.

4

Not started

Construction — another stream.

The seller

From signing in to a listing buyers can find

In the order somebody meets it. Everything before the wizard exists because the publish gate refuses a seller who has not been through it.

Sign in

Working

Phone OTP, Google, or an email and password. Refresh tokens rotate in families, and replaying a spent one revokes the whole family.

/design/signin

Get started

Working

The path from a new account to a listing that can go live. Read back off the publish gate's own conditions, so it cannot drift from what it describes.

/design/welcome

Your identity

Working

DigiLocker, or a document an operator reads. The one screen standing between every seller and a published listing.

/design/account/kyc

Your company

Working

The entity that gets verified. A company's standing does not move when its sales head does, which is why this is separate from the account that created it.

/design/organisation

Team

Working

Who may act for the company. Roles are baked into the access token when it is minted, so granting one takes effect at the next sign-in.

/design/team

Dashboard

Sample data

Listing counts and verification scores are real.

The leads and revenue tiles are not — both have tables and no service.

/design/dashboard

My listings

Working

Every listing in every state, with its score and how much of the form is filled in. Publish, unpublish, mark sold, reinstate.

/design/listings

Posting wizard

Working

Fourteen sections for a builder, nine for an individual owner. The account decides which, and it is not asked twice. Each step is a real call, not one submit at the end.

/design/listings/new

Search

Working

The buyer's side of the same data, and the only screen where the ranking is visible. Open “Why this rank” on a result for the four numbers behind its position.

/design/search

Billing

Sample data

Pay per use: one charge to reveal a number, one to boost a listing. Receiving an enquiry is always free.

Revealing a number is real and writes a purchase. Reading the charges back is in progress.

/design/billing

Leads

Sample data

Buyers who asked about a property, and what happened next.

Enquiries are real. Leads, follow-ups and calls are tables with no Java.

/design/leads

Analytics

Sample data

Views, enquiries, and how a listing performs against its locality.

Views are recorded. Nothing aggregates them yet.

/design/analytics

Messages

Sample data

Notifications and what was sent to whom.

Templates and dispatch exist. The inbox does not.

/design/messages

Construction

Forty-four tables, no code

A separate stream with its own owners. These routes answer and do nothing else — listed so the gap is visible rather than discovered.

Contractors

Not started

GST verification, site checks, ratings.

/design/contractors

Quotation requests

Not started

A construction request out to contractors; the customer pays to see the itemised quotes.

/design/quotation-requests

Ongoing projects

Not started

Milestones, inspections, and escrow that releases only against a passed inspection.

/design/ongoing-projects

Change requests

Not started

A variation neither party can resolve alone — both must confirm.

/design/change-requests

The application is a separate Next app in its own repository, running as its own container. This site rewrites /design/* to it, and it sets basePath to match — which is what keeps its own navigation inside /design rather than breaking out to these pages the first time somebody presses a link.