
Strata Reserve Planning
A secure, multi-role property management platform that replaces fragmented manual workflows with a unified digital system for strata reserve fund planning and depreciation reporting.
Background
A British Columbia property management company specializing in strata reserve fund planning had outgrown its existing approach. Inspections were coordinated through email, survey forms were filled out on paper, document storage was scattered across a loosely organized file-sharing service, and there was no reliable way to track when the next inspection for any given property was due. Deadlines were missed, administrators spent significant time chasing down incomplete responses, and senior council members struggled with processes that were not designed for them.
The SRP Depreciation Portal was developed to replace these fragmented workflows with a single, centralized platform. Tailored dashboards for each user type ensure that every person interacts only with the information and tasks relevant to their role. The result is a secure, compliant system that brings the full inspection and reporting lifecycle under one roof.
Project Type
Internal Business Platform
Platform
Web (Desktop + Tablet + Mobile)
Team Size
6 Developers
Deliverables
Web Application, REST API, Supabase Edge Functions, PDF + Video Documentation
Role & Responsibilities
Full Stack Developer
Backend: Designing and implementing API endpoints, data models on Supabase, and filtering logic across the service layer.
Frontend: Building interactive UI components, form flows, and connecting client-side views to backend endpoints.
Tech Stack
A Platform Built for Strata Professionals
The Strata Reserve Planning (SRP) Depreciation Portal was commissioned by a British Columbia property management company specializing in strata reserve fund planning and depreciation reporting. Prior to this project, the company's workflows were distributed across disconnected tools. Inspections, appointments, surveys, and client documents were managed through a patchwork of manual processes that created bottlenecks and introduced risk.
The goal was to consolidate these operations into a single, secure, role-aware platform. Four distinct user types (Admin, Client, Inspector, and Assistant) each require tailored dashboards, permissions, and task flows. The platform was conceived as an internal business tool from the outset, not a public-facing application, reflecting the sensitivity of the financial and property documentation it handles.
Research & Discovery
Development began with structured user research. Detailed personas were created for admin and client roles, capturing demographics, daily routines, engagement levels, and the specific value the platform would provide to each user type. These personas directly informed design decisions, feature priorities, and the depth of functionality required.
User Personas

James, Property Manger

Nora, Council President
User Flow Diagrams

Admin User Flow

Client User Flow

Inspector User Flow

Assistant User Flow
The Challenge & Solution
Discovery sessions with the company surfaced four recurring pain points that directly shaped the platform's feature set.
| Pain Point | Action Point | Potential Impact |
|---|---|---|
| Survey deadlines missed frequently | Appointment scheduling & timeline tracking | Fewer missed deadlines |
| Reliance on paper-based survey forms | Digital survey system with guided flows | Reduced friction for transition |
| No centralized view of responses | Unified admin dashboard | Faster review cycles |
| Unclear compliance inspection schedules | Strata-level timeline tracking | Reduced compliance risk |
The SRP Depreciation Portal was built to address each of these problems directly. A role-based dashboard gives every user type exactly the information relevant to their responsibilities, without exposing them to data they do not need.
Project Planning & Process
The team adopted an Agile workflow using Jira for sprint management and backlog tracking. A weekly cadence structured the collaboration: Friday meetings with the project sponsor, followed by an internal team session to assign the coming week's tasks and review the previous sprint's output.
Git Workflow
Each team member maintained a personal feature branch and submitted PRs into the shared dev branch. Code reviews were mandatory before any merge.
Strategic Build Order
Admin and Client platforms were built first, covering the full feature surface, allowing for thorough testing before Inspector and Assistant roles were developed.
High-Fidelity Wireframes
Figma prototypes were produced for both Admin and Client platforms before a line of production code was written. These prototypes served as living design references, iterated on weekly based on sponsor feedback from the live application. Key changes that emerged between the initial wireframes and the final design included the addition of the collapsible navigation bar, the question CRUD interface, and the Dropbox sync control, all of which arose from real usage feedback rather than the original spec.

Admin Desktop Prototype

Admin Mobile Prototype

Client Desktop Prototype

Client Mobile Prototype
Naming Conventions & Structure
Project Directory Structure
Frontend (React + Vite)
frontend/src/
├── admin/
│ ├── components/
│ ├── pages/
│ ├── routes/
│ └── styles/
├── client/
│ ├── components/
│ ├── pages/
│ ├── routes/
│ └── styles/
└── shared/
├── assets/
├── components/
├── contexts/
├── hooks/
├── lib/
├── pages/
├── routes/
├── styles/
├── types/
└── utils/Backend (Hono + Prisma)
backend/src/
├── admin/
│ ├── controllers/
│ └── routes/
├── client/
│ ├── controllers/
│ └── routes/
└── shared/
├── config/
├── constants/
├── controllers/
├── helpers/
├── lib/
├── middleware/
├── routes/
├── services/
└── types/Supabase: Edge Functions (Deno)
supabase/functions/ ├── _shared/ ├── upload-document/ ├── delete-document/ ├── preview-document/ ├── download-fn-documents/ ├── sync-documents/ └── archive-fn-documents/
System Architecture
The platform is split across three separate repositories, each responsible for a distinct layer of the application. This separation keeps concerns clean and allows each layer to scale or be updated independently.
Frontend
React + TypeScript + Vite + SCSS with role-based routing and a shared component library.
Backend
RESTful API using Hono + Prisma + PostgreSQL. Shared service layer consolidates business logic.
Edge Functions
Deno-based serverless functions handle all document operations (upload, download, preview, sync, archive) with direct Dropbox API integration.
Iterative UI Improvements
Weekly client meetings produced a steady stream of real-world feedback that shaped the final product.
Question CRUD & Filtering
A question management interface enabled the company to configure survey questions completely code-free.

Dropbox Sync
A manual sync button reconciles the database against Dropbox to manage orphaned files seamlessly.

Security & Compliance
Given the nature of the data managed (client financials, property documentation, and inspection records) security requirements were defined during the discovery phase and built into the platform's architecture, not retrofitted after the fact.
Data Residency
All data hosted on Canadian servers for regulatory compliance.
Access Control
Supabase authentication secures all API routes with role-based middleware.
Invite-Only
No public registration. Client creation is restricted to administrators.
Outcome
The completed SRP Depreciation Portal consolidates what were once fragmented manual processes into a single, role-aware digital workflow. The platform is actively used by the company's team and clients, handling the full lifecycle of strata reserve inspections from initial appointment scheduling through to final document archival.
Demo Video
A full walkthrough of the SRP Depreciation Portal, demonstrating the role-based dashboards, inspection workflows, and document management features in action.
Full platform walkthrough — SRP Depreciation Portal