Case Study
GetGround
Multi-tenant, white-label building management platform used by multiple enterprise operators. I owned core architecture and features across mobile, web, and backend over 5+ years — shipping, scaling, and maintaining a long-lived production system.
Role
Senior Full-Stack Developer
Timeline
5+ years
Year
2020
Category
B2B/B2C SaaS

Context & Constraints
GetGround is a multi-tenant, white-label building management platform used by multiple enterprise operators to manage daily operations across large office portfolios.
The platform needed to support multiple operators on a shared core, strict tenant isolation, deep customization (branding, features, integrations), and long-term maintainability over years.
Over time, the scope expanded into a full ecosystem: back-office, backend, mobile app, web app, and a backend-for-frontend layer — all expected to evolve without breaking existing clients.
The Core Problem
The challenge was not feature delivery, but scaling complexity without fragmentation.
As new operators, services, and integrations were added, the system had to remain reliable in production, flexible across tenants, understandable by multiple teams, and safe to extend without regressions.
This required architectural decisions that favored clarity and isolation over short-term speed.
My Role & Ownership
I joined as a Frontend Developer, initially focused on mobile (React Native) and web (React, Next.js) applications.
As the platform grew and backend needs expanded, I progressively took on more responsibility. I began supporting and backing up the backend developer, contributing to API development, BFF architecture, and infrastructure decisions. Over time, this natural evolution consolidated my role as a full-stack developer.
My responsibilities grew to include:
- Designing and evolving authentication flows (credentials + SSO)
- Building and maintaining backend APIs and a dedicated BFF
- Delivering core modules across back-office, mobile, and web
- Driving white-label architecture for theming and tenant configuration
- Integrating and maintaining critical third-party SDKs
- Collaborating closely with product, commercial, and client stakeholders
I owned decisions end-to-end, from backend services to client-facing applications, aligning technical execution with long-term business needs.
Key Engineering Decisions
1. Multi-tenant & white-label architecture
Designed a theming and configuration system that allowed multiple operators to share a single platform while maintaining strict isolation in branding, features, and integrations.
This enabled faster onboarding of new clients without duplicating codebases.
2. Backend-for-Frontend (BFF)
Introduced a NestJS-based BFF layer to decouple frontend needs from backend services.
This allowed mobile and web clients to evolve independently while keeping backend contracts stable.
3. Authentication & enterprise integrations
Implemented credential-based and SSO authentication (Microsoft, Google) across mobile and web, ensuring enterprise compatibility without fragmenting auth logic.
4. SDK and hardware integrations
Integrated complex third-party systems including Firebase (telemetry, crash reporting, distribution), STid (badge access), and Vecos (locker management).
These integrations required careful lifecycle management to avoid coupling core logic to vendor-specific behavior.
Outcomes & Impact
Over more than 5 years in production, these decisions enabled:
- A shared platform used by multiple enterprise operators
- Safe rollout of new features without breaking existing tenants
- Scalable onboarding of new clients with minimal rework
- Stable mobile and web applications used daily in real office environments
- Sustained maintainability as teams and requirements evolved
The platform remained reliable and extensible despite increasing scope and complexity.
Tech Stack
- Frontend: React (Back-Office), React Native (Mobile), Next.js (Web)
- Backend: NestJS (APIs & BFF), AWS (Cognito, DynamoDB, AppSync, S3)
- Integrations: Firebase, Stripe, Vecos, STid
- Infrastructure: AWS-native services with environment isolation