A mobile-first Progressive Web App for QA engineers to monitor test execution, track achievements, and learn BDD testing across ENGIE PowerHub's African market deployments.
Built with
- Next.js 15 (App Router)
- TypeScript
- Tailwind CSS / shadcn/ui
- Rust 1.92 (7 AWS Lambda microservices on ARM64/Graviton2)
- AWS (DynamoDB, API Gateway, EventBridge, S3, Lambda)
- Fly.io (PostgreSQL, Redis)
ARM64 Lambda Build System
Cross-compiled Rust microservices for AWS Lambda Graviton2:
- Target:
aarch64-unknown-linux-gnu(glibc for AL2023) - Tool:
cross(Docker-based, no Zig dependency) - Crypto:
aws-lc-rs(AWS's optimized BoringSSL fork) - CPU:
target-cpu=neoverse-n1for Graviton2 optimization
Key Features
Gamification System
- 10-level progression with XP tracking
- 15+ achievements for testing milestones
- Confetti celebrations on completions
- Wiki engagement rewards (+5 XP per article)
BDD Tutorial
- 7-step interactive Cucumber/Gherkin course
- Progressive step unlocking
- LocalStorage progress persistence
- 125 XP for full completion
Market Health Monitoring
- Real-time ping checks across 8 African markets
- Color-coded status (green/orange/red)
- Response time tracking (under 500ms = healthy)
- System health badge in navigation
Test Execution
- 12 test types (RSpec, Cucumber, Playwright, K6)
- Real-time execution status
- Report parsing and visualization
- Multi-market test targeting
Architecture
Frontend (Fly.io - Frankfurt)
- Next.js 15 PWA with service workers
- PostgreSQL for user data
- Redis for session caching
- Mobile-optimized UI
Backend (AWS eu-west-1 - ARM64/Graviton2)
- test-execution-service: Test triggering, GitLab CI integration
- gamification-service: Points, achievements, streaks, leaderboard
- metrics-aggregator-service: Time-series metrics aggregation
- notification-service: Teams, email, PagerDuty alerts
- report-parser-service: Cucumber/K6 JSON parsing from S3
- websocket-handler: Real-time React state updates
- authorizer: JWT validation for API Gateway
Markets Supported
Uganda, Kenya, Tanzania, Rwanda, Nigeria, Benin, Zambia, Mozambique
Preview
Live at powerhub-qa-mobile.fly.dev
Connect
- Portfolio: developer.ericgitangu.com
- GitHub: ericgitangu
- LinkedIn: Eric Gitangu