PropTech · Direct-to-Owner MarketplaceProduction Deployment

Direct Home

A verified, agent-free property marketplace for Hong Kong - built for trust from the first login, since without an agent in the middle, the platform has to do an agent's job.

3-Way
Identity Verification
Email OTP, phone OTP via Twilio, and HKID/identity review
1
Running Negotiation Thread
Offers, counters, viewings, and support in one Socket.IO chat
Auto
Generated Legal Paperwork
LOIs and tenancy agreements built straight from platform data

Client Challenge

Direct Home lets Hong Kong property owners list and sell or rent without an agent. A listing had to move through draft, paid publishing, and admin approval - not just save to a database and go live. Without an agent in the middle, most of the platform needed to gate on verified email, phone, and HKID/identity before a deal could move forward. Offers, counters, viewings, and support all needed to live inside one real-time chat thread instead of scattered across email and phone calls, and letters of intent and tenancy agreements needed to generate straight from platform data, in a market where those documents carry real weight.

Objectives

  • Replace agent-mediated verification with an email, phone, and HKID/KYC gate built into the platform itself.
  • Keep negotiation - offers, viewings, files, support - inside one real-time chat thread.
  • Generate legally-weighted paperwork (LOIs, tenancy agreements) straight from platform data, not manually.

Solution Design

We built the backend and web app end to end: NestJS and MongoDB on the backend, Next.js 15 on the frontend, largely delivered in Traditional Chinese to match Direct Home's Hong Kong market.

Email and phone OTP, Google OAuth, and HKID/identity/KYC review flows gate most of the API, so by the time two parties are negotiating, both are already verified. A dedicated Socket.IO chat namespace with event-driven message, unread, and offer broadcasts keeps property offers, viewings, files, and support in one running thread. Stripe Checkout runs behind a backend webhook rather than Stripe.js on the client - the web app simply redirects to a checkout URL and verifies the session on return. Letters of intent and tenancy agreements generate via pdfkit straight from platform data.

Implementation Process

01

Phase 1: Verification Design

Built email OTP, phone OTP via Twilio, Google OAuth, and HKID/identity/KYC review flows.

02

Phase 2: Backend & Negotiation

Shipped NestJS + MongoDB, Stripe Checkout, S3 media, geocoding, OCR, and Socket.IO chat.

03

Phase 3: Web App & Launch

Delivered the Next.js 15 web app with maps, chat, and admin surfaces, plus crons for expiring plans/listings and unread-message digests.

Results & Business Outcomes

An Owner Can Run It Themselves

List a property, get verified, negotiate in real time, and walk away with a Stripe-paid plan and a generated LOI or tenancy agreement, without ever leaving the chat thread.

One Console for Admin Oversight

The team reviews KYC and identity submissions, manages coins and listing plans, and tracks scout reports and enterprise accounts from the same backend that runs the public marketplace.

Technology Stack

NestJSMongoDBNext.js 15Tailwindshadcn/RadixStripe CheckoutTwilio VerifySocket.IOAWS S3OpenAI (OCR)Leaflet / OpenCage

System Architecture Flow

01
List & Verify

Draft → paid publishing → admin approval.

02
Identity Gate

Email/phone OTP, Google OAuth, HKID/KYC review.

03
Negotiate In-App

Socket.IO chat: offers, counters, viewings, files.

04
Checkout

Stripe Checkout behind a backend webhook.

05
Generate Paperwork

LOI & tenancy agreements from platform data.

ARCHITECTURE FIRST

Need an AI Strategy Before You Build?

Book a complimentary AI Architecture Review. We'll assess your use case, identify opportunities, evaluate technical feasibility, and provide clear implementation recommendations.