Skip to content

Repository files navigation

PillowTalk

PillowTalk is an Android digital wellbeing application focused on reducing unplanned night-time phone use. It combines app blocking, usage limits, structured focus sessions, and a planning system called ChronoCapsule so users can set healthier evening boundaries and make more intentional leisure decisions.

Unlike a basic blocker, PillowTalk is designed as a full behaviour-support loop: it helps the user protect time, estimate a realistic leisure budget, turn that budget into a concrete night plan, and reflect on the outcome the next day.

Project Handbook Live Handbook Site Original Materials License Reef-Derived Components License

Product Summary

PillowTalk brings together four complementary layers:

  • Digital guardrails through daily app limits, routines, and blocking interventions
  • Structured focus through timers, focus sessions, and focus history
  • Night planning through ChronoCapsule, timetable-aware budgeting, and capsule scheduling
  • Reflection and accountability through Recovery Mirror, progress views, and community features

Core Features

1. Digital Wellbeing Controls

  • Per-app daily usage limits
  • Routine-based app blocking for recurring schedules
  • Whitelist support for essential apps during protected sessions
  • Full-screen limit-reached intervention for daily and routine caps
  • Accessibility and usage-based enforcement for distraction control

2. Focus And Productivity

  • Dedicated Focus Mode sessions
  • Pomodoro-style timing support
  • Focus statistics and session history
  • Historical detail view for reviewing past sessions

3. ChronoCapsule Planning System

  • ChronoCapsule home for night planning
  • Weekly timetable setup for recurring obligations
  • Daily workload entry for tasks and next-day anchors
  • Workload-aware leisure budget recommendation
  • Capsule templates for short, bounded leisure activities
  • Tonight Plan scheduling for concrete evening execution
  • Recovery Mirror for next-day reflection and follow-up

4. Experience And Customisation

  • Home dashboard with nightly status and quick actions
  • Community screen for lightweight accountability
  • Theme mode selection for system, light, and dark appearance
  • Settings screens for notifications, focus preferences, and app-wide behaviour
  • Intro and setup flow for first-time onboarding

End-To-End User Flow

The current product is intended to work in this sequence:

  1. The user opens the home dashboard and reviews tonight's status.
  2. Recurring routines and app limits establish automatic protection windows.
  3. ChronoCapsule uses the weekly timetable and today's workload to estimate a realistic leisure budget.
  4. The user creates or reuses capsule templates and schedules them in Tonight Plan.
  5. During the day or evening, Focus Mode supports concentrated work sessions.
  6. The next day, Recovery Mirror helps the user reflect on whether the previous plan was realistic and sustainable.

Documentation

Project Structure

  • Reef/ - main Android application module
  • appintro/ - onboarding and intro flow module
  • fastlane/ - store metadata and release assets
  • media/handbook/ - handbook animation assets
  • screenshots/ - static visual assets used in project documentation
  • video/ - source demo recordings used to generate handbook media

Tech Stack

  • Kotlin
  • Android Jetpack Compose
  • Material 3 / Material Expressive UI
  • Navigation Compose
  • WorkManager
  • Accessibility Service and Usage Stats integrations

Getting Started

Requirements

  • Android Studio
  • JDK 17
  • Android SDK with a recent compile SDK installed

Build

.\gradlew.bat :Reef:assembleDebug

You can also open the project in Android Studio and run the Reef app module directly.

Required Permissions

PillowTalk relies on several Android permissions and special accesses to function correctly:

  • Accessibility Service
  • Usage Access
  • Notifications
  • Battery optimisation exemption
  • Do Not Disturb access for focus mode
  • Exact alarms for reliable routine scheduling

Attribution

PillowTalk is a course-project fork built on top of Reef by Pranav Purwar.

This repository preserves the original Android module and package structure from Reef while extending the product with PillowTalk-specific planning, intervention, and interface features. Upstream architecture, baseline blocking logic, usage tracking, focus tools, and related foundations remain attributable to the original Reef project.

License And Usage

Original PillowTalk materials in this repository are proprietary and all rights reserved under LICENSE. They may be viewed and evaluated for review, testing, and academic assessment, but they may not be copied, modified, redistributed, rebranded, submitted as another party's work, or reused in portfolios, products, or coursework without prior written permission.

This project also contains Reef-derived components that remain attributable to Pranav Purwar and continue to be governed by their upstream MIT terms preserved in LICENSE-REEF-MIT. Other bundled third-party files and vendor distributions remain subject to their own notices.

About

A group project for CC0015 Health and Wellbeing. Built based on open-source app Reef.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages