Mark
guest@mark: ~/projects/subdivision-os
guest@mark:~/projects/subdivision-os$cat projects/subdivision-os

HOA Management Platform
A multi-tenant platform for managing homeowners' associations (HOAs) and subdivisions. A single deployment hosts many independent subdivisions, each with its own residents, finances, staff, and records — all financial activity is recorded as permanent, append-only entries rather than editable rows.
Super Admin
Oversees the whole platform. Reviews and approves (or rejects) new subdivisions that sign up, manages subdivision admins, and can view a platform-wide audit log across every tenant.
Subdivision Admin / Staff
Runs the day-to-day operations of one subdivision: residents and households, billing and dues, income and expenses, payroll, inventory, projects, events, and announcements.
Resident
A self-service portal scoped to their own household: view balance, bills, and payment history, and see announcements, news, and events for their community.
Multi-tenancy
Each subdivision is a tenant identified by a URL slug. A user's access and role (Admin, Staff, or Resident) is defined by a membership row, so one account can belong to multiple subdivisions with different roles in each. Every request resolves the tenant context server-side before any data is read or written.
Onboarding & Approval
A new subdivision starts in Pending status. It only becomes usable once a Super Admin approves it — users attached to an unapproved subdivision see a pending-approval screen instead of the app.
Immutable Financial Records
Payments, income, expenses, bills, and payroll are never edited or deleted in place. Corrections use void and reversal, and every change writes a linked audit log entry in the same transaction — so a mutation can never commit without a matching trail.