Back to Projects

Employee Engagement Platform

B2B SaaS for Gamified Employee Engagement

Overview

B2B SaaS platform for employee engagement — gamification, pulse surveys, peer recognition (shout-outs), rewards marketplace, and manager insights dashboards. Two codebases: React Native mobile app (Oxygen) with offline-first RTK Query caching and 5 Firebase integrations, and React web dashboard (Uptech) with 19 Ducks feature modules and atomic design component library.

Key Features

  • React Native mobile app with RTK Query + Redux Persist for offline-first experience
  • 5 Firebase integrations: Analytics, Push Notifications, Remote Config, Dynamic Links, Firestore
  • 30+ Hygen code generators standardizing component, screen, hook, and slice creation
  • React web dashboard with 19 Ducks feature modules and atomic design components
  • Deep linking system with Branch.io + Firebase Dynamic Links resolver pattern
  • Centralized Axios interceptors for auth tokens, device headers, and error handling

Tech Stack

Mobile

React Native 0.68TypeScriptRedux ToolkitRTK QueryRedux PersistReanimated 2

Web Frontend

React 17TypeScriptRedux ToolkitReact QueryMaterial UIRechartsStorybook

Services

Firebase AnalyticsFCMRemote ConfigDynamic LinksFirestoreBranch.io

Tools

HygenFormikReact Hook FormRollbari18next

Challenges & Solutions

Offline-First Mobile Caching

Problem

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.

Solution

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.

Cross-Platform Deep Linking

Problem

Email confirmation, team invites, and password reset flows needed to work across iOS, Android, and web with different URL schemes and app states.

Solution

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.

19 Feature Modules at Scale

Problem

Web dashboard grew to 19 features (polls, shoutouts, rewards, insights, etc.) with interconnected state — needed consistent patterns without creating a maintenance burden.

Solution

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.

Key Achievements

5 Firebase
Analytics, FCM, Remote Config, Dynamic Links, Firestore
30+ Generators
Hygen templates reducing creation time from 15min to 30s
19 Features
Ducks modules with Entity Adapter normalized state
Offline-First
RTK Query + Redux Persist custom rehydration