rumik
Personal project · React Native
A music-discovery app for quality-first listeners that I engineered like a production product: an Expo/React Native client, a self-hosted OTA and remote-config platform with its own admin console, seven GitHub Actions pipelines, and a full observability stack.
- App: Expo Router, Clerk auth, charts, discovery, library and a now-playing bar, with feature flags and A/B experiments read at runtime (home layout, tagline test, chart limit).
- Self-hosted OTA server (Express + TypeScript, SQLite/Postgres, Redis, WebSockets): staged rollouts 5% → 25% → 50% → 100%, automatic rollback past a 5% crash rate, kill switches, dynamic URLs, segments and schedules.
- Admin console: monitoring, adoption, feature flags with platform/version/percentage targeting, experiments and results, releases, crash metrics, audit log and build health.
- CI/CD on GitHub Actions: PR validation (format, typecheck, tests, bundle size, dependency audit, secret scan), build & test for web/Android/iOS, staging with a QA checklist, production release (version bump, changelog, OTA update, store releases, rollback monitor), plus one-click rollback.
- Observability: Prometheus, Grafana, Loki, Tempo and Alertmanager, with OpenTelemetry tracing and Slack alerts.
Admin console
The OTA/remote-config dashboard: monitoring, feature flags, experiments, kill switches, releases, crash metrics, build health.
CI/CD
Seven GitHub Actions workflows: PR gate, build & test, staging, production release with OTA + rollback monitor.
Next: chennai.rent →