Periodic Android Usage Stats App

Замовник: AI | Опубліковано: 29.12.2025

**Android App + Backend + Admin Dashboard for App Usage Monitoring - Fixed Price Project** We need a complete, production-ready MVP for a legal, compliant app usage monitoring system. The app will be installed on ~1000 Android phones (user consent obtained separately). It tracks app usage stats from the last 24 hours (which apps used, timestamps, total time per app, number of opens/launches) and sends data securely to a central server. An admin web dashboard displays aggregated data with filtering and basic flagging rules. **Target launch: 4 weeks. Indian developers preferred (Bangalore/Mumbai/Pune).** Budget - Rupees 25,000/-. ## Android App Requirements (Kotlin + Modern Android) - **Core Functionality:** - Use `UsageStatsManager` API to query last 24h usage: per-app total foreground time, launch count (from events), first/last usage timestamps, package names. - Data points per app: package_name, total_time_ms (24h), launch_count, first_used_timestamp, last_used_timestamp, device_id (unique per phone). - Aggregate into daily summary (JSON) and send every 15-30 mins via HTTPS POST to backend API. - **Permissions & UX:** - Request `PACKAGE_USAGE_STATS` permission with deep-link to Settings > Privacy > Usage Access. - Simple onboarding: "Enable Usage Access" button + instructions screen. - Minimal UI: Home screen showing "Monitoring Active" status, last sync time. - **Background Operation:** - Foreground service (with notification) for reliable data collection even when app closed. - Handle Android 12+ battery optimizations, doze mode, app standby. - Local SQLite storage for offline buffering + retry logic (exponential backoff) if no internet. - Support Android 10+ (target SDK 35). The app should always be running in background. Even if it stopped by the user, like whatsapp, it should come back operational. - **Security:** - Unique device ID (generate/store securely, e.g., Firebase Instance ID). - Encrypt data before sending (AES or HTTPS TLS 1.3). - No root/jailbreak detection needed initially. - **Testing:** - Test on 5+ physical devices (various Android versions, manufacturers). - Verify accuracy vs manual tracking (e.g., Chrome 2h 15min → exact ms). - Edge cases: no permission, network loss, app kill, low battery. **Deliverables:** APK (signed), Play Store-ready source code (GitHub repo), basic README. ## Backend Requirements (Node.js/Python + PostgreSQL) - **Stack:** Node.js/FastAPI + PostgreSQL (hosted on AWS Lightsail/DigitalOcean, ~₹2k/month). - **Database Schema:** | Table | Key Fields | |-------|------------| | devices | device_id (PK), install_date, last_seen, phone_model | | daily_usage | device_id, date (YYYY-MM-DD), package_name, total_time_ms, launch_count, first_used, last_used | | flags | device_id, date, rule_name (e.g., "whatsapp>3h"), flagged_at | - **APIs (REST, JWT auth):** - POST /api/usage: Receive batched daily JSON from app (validate device_id). - GET /api/devices: List all devices + last 24h summary. - GET /api/device/:id/usage?date=YYYY-MM-DD: Detailed 24h breakdown. - POST /api/flags: Manual flag + auto-rules (e.g., total_screen_time > 8h). - **Features:** - Auto-compute 24h aggregates on ingest. - Data retention: 90 days. - Basic alerting: Email/SMS if flag triggered (Twilio/SES). - Rate limiting: 100 req/min per device. - **Deployment:** Dockerized, auto-backup, monitoring (basic PM2 or similar). **Deliverables:** Deployed server URL, DB credentials, API docs (Swagger/Postman). ## Admin Web Dashboard (React/Vue + Charts) - **Pages:** 1. **Dashboard:** Overview table - all devices, last sync, total screen time (24h), top apps, # flagged. 2. **Device Detail:** Select device → 24h timeline (bar chart: time per app), launch counts, raw events. 3. **Flags:** List flagged events + rules editor (e.g., "App X > Y hours"). 4. **Reports:** CSV export for date range. - **UI Libs:** Bootstrap/Ant Design + Chart.js (bar/pie for time distribution). - **Auth:** Simple email/password (Firebase Auth or JWT). - **Responsive:** Mobile-friendly for admin phone access. **Deliverables:** Hosted (Vercel/Netlify), source code, admin login. ## Must-Haves for Bidders - Portfolio: Link to 1+ Android UsageStats app OR similar SaaS (backend + dashboard). - Team: 1 Android dev + 1 fullstack (or solo with both skills). - Experience: Android 12+ services, UsageStatsManager, PostgreSQL, React. - Quote: Fixed total + hourly fallback if scope creep. - NDA willingness + 1-week notice for changes.