Work/AI-Powered Property Discovery Platform
AI · PropTech

AI-Powered Property Discovery Platform

Production-ready property discovery on a TypeScript monorepo: Next.js frontend, Express BFF, Strapi CMS, PostGIS + Redis, Vertex AI for NL search, and GCP deployment — with Swedish-market auth patterns and an internal Kvick design system.

Engineering Lead / Architect
Internal Innovation Project
AI / PropTech / Spatial Data
2025
Next.js 15 · Express · Strapi 5 · PostGIS · GCP
3 apps
Web · BFF · CMS monorepo
PostGIS
Geo search & spatial SQL
GCP
Cloud Run production stack

The Problem

Traditional property search is filter-driven: users must know which filters to set. Natural language — "Find me a 2-bedroom flat near a primary school in Malmö under 3M SEK" — is more natural but hard to implement reliably.

The platform had to turn ambiguous queries into precise structured filters and spatial queries — handling "near", named areas, and map boundaries — while staying editorially flexible for marketing content and ready for a Swedish-market auth model.

Platform Architecture

A TypeScript monorepo with three deployable applications and shared packages for types, validation, API contracts, and a vendored Kvick design system — keeping the public site, API, and CMS aligned as the product evolved.

  • Public web — Next.js 15 (App Router), React 18, Tailwind CSS, internationalisation (next-intl), Zod, Google Maps
  • API layer — Express BFF with Prisma, OpenAPI contracts, Passport (Google OAuth), and Zod validation
  • Content admin — Strapi 5 on PostgreSQL, with a lightweight local database for editorial development
  • Shared packages for contracts, utilities, validators, and fallback content across apps

Data, AI & Integrations

  • PostgreSQL with PostGIS for geo data; Prisma ORM for schema and migrations
  • Redis for caching and sessions
  • Heuristic and LLM-assisted query parsing — plain English to structured filters; Vertex AI (Gemini) with optional OpenAI
  • Google Maps Platform for geocoding and map visualisation
  • Swedish-market authentication patterns: Google OAuth, BankID, and email magic-link sign-in
  • Transactional email and Google Cloud Storage for CMS media
  • CMS-driven pages rendered on the public site with structured markdown content

Infrastructure & Delivery

  • Containerised local and production-like environments (Docker Compose)
  • GCP production stack: Cloud Run, Cloud SQL, Memorystore (Redis), load balancing, IAP, Secret Manager
  • OpenTelemetry on the API layer for observability
  • CI/CD via GitHub Actions — automated lint, typecheck, test, build, and deploy pipelines
  • Consistent code quality and bundle-size guardrails across the monorepo

Outcomes

  • Production-ready platform delivered — from innovation brief to deployable monorepo
  • Natural-language property search pipeline working with PostGIS spatial SQL and geometry queries
  • Three-app architecture (web → BFF → data/CMS) with clear contracts and shared packages
  • Reusable pattern for LLM + structured database integration on GCP
  • Internal Kvick design system integrated across the public experience