VCM
Role: Lead front-end engineerTimeline: 2025-2026Type: Web app (B2B SaaS)
React 19
React Router 7
Vite
TypeScript
SCSS
Jotai
SWR
Firebase Cloud Messaging
VCM hero image
FrameworkReact 19 with React Router 7
BuildVite
LanguageTypeScript
StylingSCSS, organised per feature
StateJotai for app-wide state (auth, sidebar, selected property, notifications)
DataSWR over a shared Axios client, with automatic auth handling
NotificationsFirebase Cloud Messaging
ReportingRecharts for dashboards; @react-pdf/renderer and CSV utilities for exports
Two role-based experiencesseparate admin and owner shells that route users to the right place and enforce access.
Permission-aware navigationthe sidebar is built from each user's actual permissions, so people only see what they're allowed to use.
A shared data layerone request pipeline injects auth and device headers, caches with SWR, and handles expired sessions by returning the user cleanly to login.
Reusable feature primitiveslisting tables with pagination, filter inputs bound to the URL, modal forms, chart cards, file uploads, and export buttons that the whole app is assembled from.
Operational coverageservice requests, amenity booking and a community calendar, finance screens (payments, statements, invoices, reminders), user and unit management, and reporting.
Push notificationsFirebase messaging with in-app toasts.
PDF and CSV exportsfor the finance and reporting flows that need offline or submission-ready output.
VCM screen 1
VCM screen 2