Product architecture

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

Properties & Units

Hierarchical model: property → units → tenants.

Tenants & Leases

Lease lifecycle with renewal & ending tracking.

Rent Ledger

Manual payments, status, outstanding balances.

Maintenance

Tickets with statuses and contractor assignment.

Forms Engine

Ontario LTB forms (N4/N5/N12/N9) auto-filled.

Notifications

Rent, lease, maintenance and system alerts.

Auth & RBAC

Landlord, Manager, Admin scoped access.

Audit Log

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

Rent → Overdue

If payment.status = Pending AND today > dueDate + 5 → flip to Overdue and emit rent notification.

Lease ending

If today + 60d ≥ lease.end → tenant.status = Ending and emit lease alert.

N4 eligibility

If tenant has Overdue payment AND no N4 in last 14d → unlock 'Generate N4' action.

Vacancy alert

If unit.status = Vacant for 21+ days → surface in dashboard 'attention' list.

Inspection cadence

If property.lastInspection > 365d → notify and schedule.

Audit

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.