The problem
In a shared flat, chores are a constant source of friction: the same person ends up washing dishes while others quietly skip their turn, and verbal agreements about "taking turns" collapse within weeks because no one remembers whose turn it was. Existing reminder apps only nag — they don't assign fairly, and shared spreadsheets rot the moment someone forgets to update a cell. This project solves the accountability problem with an Android app built around automatic fair rotation: daily chores (dishes, trash, cooking) rotate among roommates day by day, weekly chores (bathroom, mopping, groceries) shift each week so every member covers every chore over a full cycle, and the fairness dashboard makes each person's load visible at a glance. Reminders fire before each deadline through the Android notification system, and a points-and-streak system records who actually did the work. The result is a working system a student can demonstrate live, explain end-to-end, and defend comfortably in a viva.
Flat members with profiles; each is assigned rotating chores.
Follow the working sequence
How it works
- Roommates create a flat and add members; each member gets a profile with a name, colour and join date.
- The flat's chore list is set up with daily chores (dishes, trash, cooking) and weekly chores (bathroom, mopping, groceries), each with a point value by effort.
- The rotation engine assigns each chore to a member: daily chores rotate day-by-day through the member list, weekly chores shift one position every Monday.
- Before each chore's deadline, the reminder engine fires an Android notification at the configured time (e.g. dishes at 8:00 PM daily).
- The member marks the chore done in the app; the completion, points and streak day are recorded in the local database.
- The fairness dashboard recomputes each member's weekly load from the assignment log, and the leaderboard ranks members by points and streak.
- When a member joins or leaves, the engine re-runs the assignment from the current week so the rotation stays fair without a restart.
Tech stack:
- Kotlin
- Android SDK (Jetpack components)
- Room database (local persistence)
- WorkManager · AlarmManager (scheduled reminders)
- Material 3 UI components
- ViewModel · LiveData (app architecture)
- Gradle build system
- NotificationCompat API
| Parameter | Value |
|---|---|
| Platform | Android 8.0 (API 26) and above (design target) |
| Language | Kotlin |
| Local database | Room (SQLite), stores members, chores, assignments, completions |
| Reminders | WorkManager for periodic + AlarmManager for exact-time (expected) |
| Members per flat | 2–6 supported (design target) |
| Rotation cycle | Full fair cycle over N weeks for N members (expected) |
| Offline support | Full — all core features work without internet |
| Notifications | Android NotificationCompat, per-chore configurable times |
| App size | Approximately 8–15 MB installed (expected) |
Project features
- [Automatic fair rotation engine] Daily chores rotate among roommates day-by-day and weekly chores shift one step each Monday, so over a full cycle everyone covers every chore — no manual assignment, no arguments.
- [Today's task board] Each member sees their own due chores for the day with one-tap "mark done", and a progress ring shows how much of the day's list is finished.
- [Scheduled reminders] Per-chore reminder times fire through Android's notification system before each deadline; daily chores remind daily, weekly chores remind on their assigned day.
- [Fairness dashboard] A weekly bar view shows each roommate's chore count, making unequal contribution visible instead of debatable.
- [Streaks and points] Daily chores earn 8–12 points and weekly chores 8–20 by effort; completing chores on time builds streak days shown on the leaderboard.
- [Roommate profiles] Add or remove members with a join code; the rotation rebalances automatically when the flat changes size — expected behaviour for 2–6 members.
- [Multiple flats] One install can host separate flats (home, hostel room, PG), each with its own members, chore list and rotation state.
- [Works offline] The scheduler, database and reminders all run locally on the device; no account or internet connection is needed for core features.
What is included
- Complete Android app source code (Kotlin) with the rotation engine, reminder engine and UI screens
- Room database schema with seed data for a demo flat
- Working APK build of the app for demonstration
- Project report PDF (background, requirement analysis, design, implementation, testing)
- PPT presentation for final review
- Viva Q&A preparation document (rotation logic, Android components, notifications, Room, WorkManager)
- Setup and build guide (Android Studio version, SDK, build steps)
Limitations & prerequisites
- Reminders depend on the device allowing background work — aggressive battery-saver modes on some phones can delay notifications; the setup guide covers the exemption steps.
- There is no cloud sync in the base build: each device keeps its own flat data, so two phones cannot share one flat's live state without the optional sync add-on.
- Exact-alarm permission (SCHEDULE_EXACT_ALARM) must be granted by the user on Android 12+; without it, reminders fall back to inexact timing.
- The fairness engine assumes chores repeat on fixed daily/weekly cycles — one-off or irregular chores need manual entry and are not rotated.
- Points and streaks are a motivational mechanic for a student build, not an anti-gaming system; nothing stops a member marking a chore done without doing it.
- Notification reliability figures are expected behaviour on stock Android, not measured claims — the report documents the test procedure run on the buyer's own device.
Frequently Asked Questions
How does the rotation stay fair?
Daily chores rotate through the member list day by day, and weekly chores shift one position every Monday. Over N weeks with N members, everyone covers every chore exactly once per cycle. The engine re-runs automatically when someone joins or leaves.
Do the reminders work without internet?
Yes. Scheduling runs entirely on-device through WorkManager and AlarmManager, and the database is local Room storage. No account, server or internet connection is needed for any core feature.
Can I add my own chores or change reminder times?
Yes — chores are fully configurable (name, frequency, point value), each chore has its own reminder time and toggle, and the rotation picks up changes from the current week.
What happens when a roommate moves out?
Remove the member from the flat and the rotation engine rebalances the remaining assignments from the current week, so no one inherits a lopsided load mid-cycle.
Can two phones share the same flat?
Not in the base build — data is local to each device. A cloud-sync variant (shared flat state across devices) can be developed as an optional customization.
Is this project suitable for a final-year project?
Yes — for Computer Engineering, IT and Android-focused programs. It demonstrates a real scheduling algorithm, local persistence with Room, background scheduling with WorkManager, notifications, and clean app architecture. Suitable for B.E./B.Tech final-year projects in Computer Engineering, IT and Android app development.
Components & software requirements
- Kotlin
- Android SDK (Jetpack components)
- Room database (local persistence)
- WorkManager · AlarmManager (scheduled reminders)
- Material 3 UI components
- ViewModel · LiveData (app architecture)
- Gradle build system
- NotificationCompat API
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.
Download free synopsis (PDF)
Enter your name and email — the synopsis PDF downloads immediately. We may send occasional project updates; no spam, unsubscribe anytime.