Employee Engagement Platform
B2B SaaS for Gamified Employee Engagement
Full-stack employee engagement platform spanning React Native mobile (Oxygen) and React web (Uptech) with shared API architecture. RTK Query with custom rehydration logic, 5 Firebase services, Branch.io deep linking, Axios interceptor architecture for auth/device headers, and 19 feature modules using Ducks pattern.
Key Features
- React Native mobile + React web dashboard sharing API architecture and business logic
- RTK Query + Redux Persist custom rehydration for instant cached data on app restart
- 5 Firebase integrations spanning analytics, notifications, feature flags, and real-time sync
- Branch.io + Firebase Dynamic Links resolver for email confirmation, invites, password reset
- Dual reducer composition — client state resets on logout while admin config persists
- Centralized Axios interceptors injecting auth tokens, device info headers, and auto-logout on 401
Tech Stack
Mobile
Web Frontend
Services
Tools
Challenges & Solutions
Cross-Platform Deep Linking
Email confirmation, team invites, and password reset flows needed to work across iOS, Android, and web with different URL schemes and app states.
Built resolver pattern combining Branch.io and Firebase Dynamic Links. Central Links.resolver.ts parses URLs, routes to appropriate handler (email-confirmation, invite, reset-password), and navigates to the correct screen regardless of app state.
Offline-First Mobile Caching
Employee engagement app needed instant access to cached data on app restart — loading screens on every launch hurt adoption for factory workers with intermittent connectivity.
Custom RTK Query extractRehydrationInfo integrates with Redux Persist for seamless cache restoration. refetchOnMountOrArgChange: 30 ensures stale data refreshes automatically. Tag-based invalidation keeps cache consistent without manual management.
19 Feature Modules at Scale
Web dashboard grew to 19 features (polls, shoutouts, rewards, insights, etc.) with interconnected state — needed consistent patterns without creating a maintenance burden.
Ducks pattern with Entity Adapter for normalized state. Each feature self-contained with slice, thunks, selectors, and adapter. State reset on logout clears client state while preserving admin configuration. 30+ Hygen templates enforced consistent patterns across the team.