Arghadeep PakhiraClose← Back to the worldContact
← All work04 / 05

Sensor-Based Personal Weather Diary

AndroidScroll ↓
Overview

An Android app that records the weather a person actually experienced by fusing phone-sensor readings with live weather data.

Details
Role
Team of 4 — my role: UI, sensors and core logic
Category
Android
Links
01 — Sensor Fusion & Context Engine
  1. Fused 6 sensors (light, proximity, step counter, accelerometer, barometer, location) into a rule-based context engine that infers indoor/outdoor, still/walking/in-vehicle states and sun, heat and rain exposure.
  2. Kept all rules in a pure-Kotlin domain layer with no Android dependencies, so every threshold is unit-tested on the JVM in seconds; missing sensors degrade gracefully instead of crashing.
02 — Features & Background Processing
  1. WorkManager snapshots every 15–60 minutes (paused at night and on low battery, offline-tolerant) feed a daily timeline, weather calendar, weekly/monthly insight charts and automatic commute detection.
  2. Smart alerts (rain, heat, strong sun, falling pressure) with linked to-do tasks, and outdoor plans re-checked against the forecast 3 hours ahead.
03 — Privacy & Release
  1. Privacy-first: no login, ads or analytics; data stays on the phone and only location rounded to ~1 km reaches Open-Meteo.
  2. Shipped a signed, R8-shrunk v1.0.0 release with Room migrations and on-device database tests.
Built with

Kotlin / Jetpack Compose / Material 3 / MVVM / Hilt / Coroutines & Flow / Room / DataStore / WorkManager / Retrofit / OkHttp / Play Services Location / Vico Charts / Open-Meteo API / JUnit4 / MockK

Next projectTimeless Trade