How KeyNest is built
A focused property management platform for Ontario landlords and managers. Clean modules, predictable data flow, and a rules engine for compliance-heavy workflows.
System overview
┌───────────────┐ ┌────────────────────┐ ┌──────────────────┐
│ Web Client │ ──▶ │ API / Server Fns │ ──▶ │ Data Store │
│ React + TS │ │ Auth · Routing │ │ Properties │
│ Tailwind │ ◀── │ Rules Engine │ ◀── │ Tenants · Rent │
└───────────────┘ └────────────────────┘ │ Tickets · Forms │
▲ │ └──────────────────┘
│ ▼
│ ┌─────────────────┐
└──────────────│ PDF / Notifier │
│ LTB · Email │
└─────────────────┘Core modules
Hierarchical model: property → units → tenants.
Lease lifecycle with renewal & ending tracking.
Manual payments, status, outstanding balances.
Tickets with statuses and contractor assignment.
Ontario LTB forms (N4/N5/N12/N9) auto-filled.
Rent, lease, maintenance and system alerts.
Landlord, Manager, Admin scoped access.
Every privileged action recorded for 365 days.
Rent status flow
┌─ on lease anchor day ─┐ │ ▼ │ ┌──────────────────┐ │ ┌──────▶│ PENDING │── tenant pays ─▶ ┌─────────┐ │ │ └──────────────────┘ │ PAID │ │ │ │ └─────────┘ │ │ +N days no payment │ │ │ ▼ │ │ │ ┌──────────────────┐ alert landlord + │ │ │ │ OVERDUE │ schedule N4 form │ │ │ └──────────────────┘ │ │ │ │ │ └─────┴────── reset on next period ◀───────────────────────┘
Rules engine
If payment.status = Pending AND today > dueDate + 5 → flip to Overdue and emit rent notification.
If today + 60d ≥ lease.end → tenant.status = Ending and emit lease alert.
If tenant has Overdue payment AND no N4 in last 14d → unlock 'Generate N4' action.
If unit.status = Vacant for 21+ days → surface in dashboard 'attention' list.
If property.lastInspection > 365d → notify and schedule.
Every state change is recorded with actor, IP, and target into the audit log.
Data model
User ──┬──< Property ──< Unit ──< Tenant ──< Payment
│ └──< Document
│ └──< FormRecord (N4/N5/...)
└──< Notification
Ticket >── Property / Unit / Tenant© 2026 KeyNest. All trademarks belong to their respective owners.