LandlordOS
- Type
- Product
- Built with
- TypeScript
- Source
- Private repository
- Live at
- app.thelandlordos.com

Overview
A property management platform built for small landlords, covering properties, leases, rent, maintenance and tenant communication in one dashboard — scoped deliberately below the enterprise systems aimed at large portfolios.
Core features
A portfolio dashboard surfacing revenue, rent collection rate, open maintenance and expiring leases; property and unit management with drill-down views and occupancy status (occupied/vacant/maintenance); lease records with dates, amounts and 90-day renewal alerts; rent tracking that models partial payments alongside paid, pending and overdue states; expense tracking by property, category and vendor; a maintenance request queue with priority levels and resolution tracking; bulk data import; automated alerts for lease expiry, overdue rent and ageing repairs; WhatsApp tenant messaging.
Architecture
A Next.js App Router application organised by route groups — landing, auth, password reset and an authenticated (protected) area containing dashboard, properties, leases, finances, maintenance, import, WhatsApp and settings. Supabase provides Postgres, authentication and row-level access control, with Zod validating input at the boundary and TypeScript enforcing the domain model end to end.
Tenant messaging is implemented as a deep link rather than a WhatsApp Business API integration: one tap composes a pre-written message and opens it in the landlord's own WhatsApp, from their own number. This avoids API approval, per-message costs and number migration.
Frameworks, tools & libraries
The stack behind it
Frameworks
- Next.js 16
- React
- Tailwind CSS
Tools & infrastructure
- Supabase (Postgres, Auth, RLS)
- Paddle billing
- WhatsApp deep links
Libraries
- Zod
- Zustand
- React Hook Form
- PapaParse
- Three.js
Skills applied
What I brought to it
- 01
Property management domain modelling (properties → units → leases → tenants)
- 02
Financial tracking: rent collection states, partial payments, expense categorisation
- 03
Date-driven alerting and renewal-window logic
- 04
Backend-as-a-service integration and auth (Supabase)
- 05
Responsive layout design (desktop sidebar + mobile header/nav)
- 06
Pragmatic integration design
WhatsApp deep links instead of a paid API
Languages
What it's written in
- TypeScript / TSX~182 files
application code
- SQL
schema and migrations
- JavaScript
config
Screens
More screens
Next project
MailClearNow