Skip to content
AP

UNIT 01/12 — PROPTECH · AI

nHabit

AI-powered home-rental platform, from empty repo to native iOS and Android

ROLE
Founding Engineer → Head of Product Engineering
CLIENT
nHabit
SECTOR
PropTech · AI
PLATFORM
iOS · Android
YEAR
2024 — present
STACK
Kotlin · Compose · Swift · SwiftUI · Go · Python · Next.js · PostgreSQL · PostGIS · Redis · Valhalla · AWS CDK · ECS Fargate · Stripe · LLM tool-calling
STATUS
SHIPPED · IN PRODUCTION

[ FIG.01 ] BRIEF

Joined as founding engineer in December 2024 to set the technical direction and build the product. Twenty-two months later the platform is 23 repositories, about 9,800 commits of which 9,000 are mine, a cross-functional team I hired, and an architecture guide, engineering standards and Definition of Done that engineers and AI agents both work to.

[ FIG.02 ] NATIVE APPS

In July 2026 I wrote the native-rewrite charter and built the Android app solo in Kotlin and Jetpack Compose: 51k lines of app code with 54k lines of tests (about 2,400 tests), seven production releases to Google Play from 16 August 2026. I co-built the Swift 6 and SwiftUI iOS app with one other engineer; it reached the App Store on 18 September 2026 and the React Native app I had shipped before it was retired within five days as sessions moved across.

[ FIG.03 ] BACKEND & INFRA

The backend is nine Go (Gin) microservices on a shared runtime library and one Flyway-managed PostGIS schema with 386 migrations: about 272k lines of production Go, 1,487 test files and 9,100 test functions, running on ECS Fargate. Fail-closed JWT auth separates consumer and agent identities; WAF, rate limiting and per-user LLM spend ceilings sit in front. The AWS estate is 52 CDK stack types across isolated staging and production accounts, with a passed disaster-recovery drill (seven-minute RDS restore) and in-house error tracking and infra monitoring I built in four weeks each.

[ FIG.04 ] DATA ACQUISITION

Supply comes from a pipeline I built alone: 190k lines of Python with 9,000 tests that discovers UK estate agents (15,635 agents on 5,118 hosts) and extracts listings from their own websites with LLM extraction, deterministic extractors and layered anti-bot engineering. A 16-shard national run collected 17,980 live homes from 2,212 agents in 2 h 50 min at zero model spend; the nightly London fleet runs at about $29 a night after benchmarking models to 100% extraction accuracy.

[ FIG.05 ] SEARCH & AI

On top sits commute-aware search on PostGIS with self-hosted Valhalla isochrones from OpenStreetMap and GTFS, lifestyle filters redesigned from a 20 GB table to 65 MB of bitmasks (a modelled 10 s to 160 ms), an XGBoost ranker trained on 14,323 real save/dislike pairs behind a statistical ship gate, and Milo, a Go WebSocket tool-calling assistant with 26 grounded tools and a multi-model chain.

[ FIG.06 ] ADJACENT UNITS

The B2B side is its own unit — see nHabit Agent Platform — and the company dashboard (237 pages, 283 API routes, 7,700 tests) runs on versioned Postgres views with single sign-on.

nHabit on iOS: map search, listing detail and the Milo assistant

UNIT 01 — IOS · ANDROID BUILD

  • nHabit — search screen
    01 — SEARCH
  • nHabit — listing screen
    02 — LISTING
  • nHabit — milo screen
    03 — MILO
  • nHabit — android screen
    04 — ANDROID
  • nHabit — android screen
    05 — ANDROID

[ FIG.SYS ] ARCHITECTURE

SYSTEM SCHEMATIC — AUTO-GENERATED FROM SPEC

IOS · SWIFTUIANDROID · COMPOSEWEB · NEXT.JSAGENT PORTAL9× GO SERVICESMILO · TOOL-CALLING LLMSCRAPER · PYTHON + LLMPOSTGRES · POSTGISREDIS · SQSVALHALLA ROUTINGAWS CDK — 52 STACK TYPES

[ FIG.OUT ] OUTCOME

0 → 1

EMPTY REPO TO NATIVE APPS IN BOTH STORES

9,000

COMMITS OF THE PLATFORM'S 9,800 ARE MINE

17,980

LIVE HOMES COLLECTED IN ONE NATIONAL RUN, ZERO MODEL SPEND

52

AWS CDK STACK TYPES ACROSS TWO ACCOUNTS

VERDICT:SHIPPED — NATIVE IN BOTH STORES · BILLING LIVE[ OK ]

NEXT UNIT

nHabit Agent Platform

Multi-tenant B2B agency platform with Stripe billing, CRM sync and a public API