The Live Demo — a 20-Minute End-to-End Tour
ProSurvey Apps Limited (company no. 17118570) · Help centre
A fully-functional damp & mould evidence capture system, live and free on the public internet — no sign-in card, no 30-day trial timer, no feature unlock. Every visitor gets a private sandbox: your own organisation, your own properties, your own sealed records. Work is yours until you refresh; refresh deletes it cleanly (the system's demo model, not a limit).
This page walks you through one complete cycle: enter the demo, explore the dashboard, raise and assign work orders, capture evidence in the field, finalise the record, verify the chain, and export it.
What you'll see (and what you won't)
Full E2E demo in the browser:
- Dashboard with Awaab's Law real-time clock and case-note evidence
- Work order creation, assignment and tracking
- Field app in your browser (full capture: GPS, photos, readings, AI-assisted narrative drafts)
- Record finalization and sealing
- Sealed-record verification and export (JSON/CSV)
- Webhook test-fire to your own endpoint
Deliberately absent (and that's OK):
- Offline persistence (the demo is browser-only, no device storage)
- Native camera access (file picker instead — same evidence, different device path)
- Speech-to-text (type instead)
- Stripe integration or billing (demo orgs can't upgrade)
- Real email sends (the echo webhook shows what would have been sent)
The field app's browser build, the core evidence engine, and every data path are production-identical. The only difference is reach — offline and device APIs — not depth.
Step 1: Enter the demo (2 minutes)
- Go to https://demo.housingsurvey.pro, our demo environment.
- You'll see the landing page. Look for the "Try the live demo" CTA (usually in the hero or a prominent call-to-action section).
- Click it. The system will:
- Create a private demo organisation for you
- Sign you in anonymously (no email needed)
- Mint a surveyor account with temporary credentials
- Show you a demo banner with those credentials
Save those credentials. You'll use them in Step 4 to sign into the field app.
Step 2: Tour the Dashboard (5 minutes)
You're in the portal now — the housing association's management view. Top to bottom, the dashboard shows:
Needs attention
A compact amber panel unions three triage signals into one place: statutory deadlines that are overdue (a jump-link to the full list below, rather than duplicating rows), work orders nobody's assigned yet, and visits that were scheduled but never marked complete. Collapses to a single "All clear" line the moment there's nothing to chase. Click any row to jump straight into that work order's drawer.
Stat tiles
Evidence records / Finalized (locked) / Drafts in field / Damp-mould hazards / Overdue / Due soon — each one a live count, each one clickable through to the filtered Evidence or Work orders list behind it.
Compliance & deadlines
The full statutory board, grouped Overdue / Due soon / an expandable on track / an expandable resolved — each work order's own row shows the property, the deadline it's tracking (investigate / written summary / begin works) and how many days over or until due. This is the core of Awaab's Law compliance — not a report, not an export, just your live case backlog tracked against fixed timescales, every deadline computed server-side.
What you can do
- Click a work order (from the Needs attention panel or the board below) to open its details, add case notes, and track its lifecycle.
- Open Work orders from the sidebar to create a new one, or to filter the full list by status, bucket, or the Overdue quick-filter chip.
Step 3: Raise two work orders (4 minutes)
Create one Awaab's Law case and one general job to show the system's range. Only Property address and Description are required (marked with a plain \*) — everything else defaults sensibly, and two sections collapse behind optional disclosures you can leave closed for this walkthrough.
Raise an Awaab's Law damp & mould case
- Open Work orders from the sidebar and click Create.
- Fill in:
- Property address: pick one from the list (the demo has pre-seeded properties), or type a new one.
- Description: "Visible damp in bedroom — tenant report"
- Job type: leave on the default, "Awaab's Law — damp & mould" — its hint tells you the statutory clock this stamps (investigate within 10 working days).
- Click Create. The work order is now live with an immediate Awaab's Law statutory deadline.
Raise a general job
- Click Create again.
- Fill in a different property and description, then switch Job type to "General / routine" — its hint confirms this carries no statutory clock, just a due date you set yourself.
- Click Create.
(Optional, while you're here: open "Add report details (optional)" to see the case-detail fields for the report — tenant contact, reference number, scope of survey — or "Assign now (optional)" to schedule a visit or send straight to a contractor. Both stay closed by default; the minimal path is genuinely just address + description + Create.)
Back on the dashboard, both work orders now appear in the Work orders list. The Awaab's Law case also carries a real countdown on the Compliance & deadlines board (its statutory clock is always on); the general job only joins that board too if your organisation has opted into its own internal target dates (Settings) — the demo org doesn't by default, so it's tracked on the Work orders list alone. This is the real difference between statutory and routine damp work in UK social housing.
Step 4: Open the Field App & Capture Evidence (6 minutes)
Now you'll sign into the surveyor app and capture evidence against one of the work orders.
Option A: In your browser (fastest for this demo)
- In the portal, click the "Try the field app" or demo banner link (or navigate to https://app-demo.housingsurvey.pro).
- Sign in with the credentials shown in the demo banner:
surveyor@[your-demo-org].demo.localand the shown password. - You're in the app. Tap My survey jobs or the work order list.
Option B: On your device (real app)
If you want to test the real iOS/Android experience:
- Install the HousingSurvey Pro app from the App Store (iOS) or Play Store (Android) — it's free.
- Sign in with those same demo credentials.
- The same work orders appear; full offline capture is supported.
Capture a survey (both browser and app paths):
- Tap a work order to open it.
- The system checks your GPS location. In a demo, this is simulated (or your actual browser location); either way, the system records it.
- You'll see the property details (address, type, occupancy, previous surveys if any).
- Tap Start survey to open the full wizard.
The wizard is broken into sections:
- Rooms (damp observations per room)
- Atmospheric (humidity, temperature readings — simulated or from your device)
- Damp & observations (severity, visible defects, cause assessment)
- Externals (roof, walls, drainage)
- Ventilation (fan status, air quality)
- Soil & drainage (fetches real ISRIC data if near the property; demo uses fallback data)
- Photos (tap to add or pick from device; browser shows file picker)
- Narrative sections (auto-generated from findings + your own text)
- Sign-off (surveyor name and accreditation)
Complete one section (e.g. Damp & observations):
- Enter a severity (e.g. "Moderate active condensation")
- Add observed issues (e.g. "Mold on north wall, no extraction fan")
- Tap the ✨ AI Polish button to let the system refine your notes into professional language.
- Photos: add one photo per issue (can skip for the demo — the system works without them)
Once you've filled a couple of sections, tap Finalise at the bottom. The system will:
- Lock your entries (read-only going forward)
- Compute the record hash (SHA-256, chained to any prior records for this property)
- Server-stamp the completion time
- Create an append-only audit log entry
Note: If photos are still uploading, you'll see an amber banner — wait a moment or manually sync, then try finalising again.
Step 5: Verify the Sealed Record (2 minutes)
Back in the portal (refresh if needed), click the same work order. You'll see:
Sealed record details
The Survey section now shows:
- Read-only view of every captured field (rooms, photos, readings, narrative)
- The completion timestamp (server-authoritative, sealed at finalize)
- The record hash (64-character SHA-256)
- Previous record for this property (if any) — shows the prevHash chain link
- Audit log link (shows every read/write ever, immutable)
Verify the hash (optional but powerful)
The hash is proof of tamper-evidence:
- Scroll to Record details.
- Copy the Record hash value.
- Download the full survey JSON (see next step — "Export").
- Run the verification tool (outside this demo) — any change to any field will produce a different hash.
In practice, your case-management system does this automatically on ingest. For now, the hash itself is the anchor: change one reading, one photo metadata, one word of narrative, and the hash changes. Store it alongside your evidence — if the ombudsman ever asks "could this have been edited?", the hash is your answer.
Step 6: Export the Record (1 minute)
JSON export
- In the sealed-record view, click Export → JSON.
- The browser downloads the full
survey-{id}.json— every field in its sealed form. - Open it in a text editor to see the structure: properties, rooms, readings, photos (as URLs), AI provider context, signature, lifecycle dates, the hash itself.
This is the same shape your REST API integration receives when a real survey finalises. Build your ingest parser against this.
CSV export
- Back in the portal, go to Settings → API & webhooks → EDI flat-file (CSV).
- Pick a date range that includes your new survey.
- Click Export CSV.
- The download is a flat file (one survey per row, key fields only) — the format your CMS ingest might prefer.
Step 7: Fire the Echo Webhook Test (1 minute)
To see what a real webhook delivery looks like:
- In the portal, go to Settings → API & webhooks → Webhook.
- Scroll to Send test event (there's a pre-filled demo webhook URL).
- Click Send test event. In ~1 second, you'll see:
- Green, "Delivered · HTTP 200 · 45ms" — the test fired to the echo webhook service
- A collapsed View sample payload section showing the exact JSON and signature headers
The payload is marked "sample": true (not a real finalize event) but the signature is real — keyed with your org's real signing secret using the production HMAC code path.
What's in the payload?
event:"test.ping"(test marker)survey: the full JSON shape (same as the export above)property: the linked property recordworkOrder: the linked work orderorganisation: your org's own metadata
Your CMS webhook receiver would:
- Verify the signature (compare
x-hsp-signatureheader to HMAC of the raw body) - Check the
"sample": trueflag and log/discard it (or route to a test log) - On a real
survey.finalizedevent, ingest the record into your case store
Step 8: Invite a Colleague (1 minute)
Demo orgs are capped at 2 surveyor seats (a paid seat class everywhere, free here too) — managers, coordinators and other office roles are free and uncapped on every real plan. Let's add one:
- Go to Settings → Members & seats.
- Click Invite.
- Enter an email address (any address — the demo email system sends nothing; you'll see a preview instead).
- Pick a role: "Surveyor" (capture only) or "Manager" (case oversight + work-order assignment).
- Click Send invite.
In a real org, the invite would email a sign-in link. In the demo, the screen shows a preview of what the invite would look like. That colleague can now:
- Access the same work orders (as a surveyor) and see your sealed records
- Contribute their own surveys
- Build the evidence chain for this property together
End of tour
You've walked through:
- ✅ Portal entry and anonymous onboarding
- ✅ Awaab's Law statutory deadline tracking
- ✅ Work-order creation (Awaab's Law + general)
- ✅ Field capture (browser and device apps)
- ✅ Record finalization and server-sealing
- ✅ Hash-chained evidence verification
- ✅ Export (JSON, CSV)
- ✅ Webhook integration (test-fire)
- ✅ Team collaboration (invite a seat)
This is the complete flow. Every step — from case creation to sealed record to CMS ingest — is production code running on live infrastructure, just in a private sandbox that resets.
What to try next
- Test offline: Install the app on your device, capture a survey, disconnect from the internet, and re-open it — the app keeps working, syncs on reconnect.
- Test integrations: Set up a webhook URL on your own server (use Webhook.cool or similar if you don't have one handy), paste it into Settings → API & webhooks, and send a test — see the exact signature and payload shape your system will receive.
- Explore the data model: Export JSON and explore the nested shape — this is exactly what the REST API and Power Automate connector expose.
- Read the handbook: If you're a manager setting up the real thing, start with Getting started; if you're integrating, see Integrations — API & webhooks.
Demo limitations (what's pending)
The demo runs on the same code and Firestore as the production system. The only known gaps:
- Offline persistence: The browser app can't cache surveys to IndexedDB the way the native app does on your device. Work offline on a real device; demos are always online.
- Photo compression: The demo file picker shows full-res photos. The production app compresses them (1280px, 70% quality) before upload — stored photos are much smaller.
- Email send: The system logs what would have been sent (e.g. statutory deadline reminders, invitation emails) but doesn't actually send anything — no spam, no real addresses harvested.
- Stripe billing: Demo orgs can't upgrade to paid plans or add seats beyond the cap. The real system does this via your card on the Pricing page.
- DNS custom domains: The demo runs at
https://demo.housingsurvey.proandhttps://app-demo.housingsurvey.pro.
Everything else works exactly as it would in your own production org.
Questions? Start at Getting started, check the full help index, or reach us at [email protected].