A modern, high-performance Android productivity and lifestyle tracking application built entirely with Kotlin and Jetpack Compose. ActivityApp combines developer-focused note-taking, project organization, time management, and health tracking into a single, beautifully animated interface with 120Hz high refresh rate support and spring-physics interactions.
- Code Mode: Toggle a specialized editing mode with line numbers, monospaced font, and clean code formatting.
- Live Syntax Highlighting: Real-time multi-color syntax highlighting for keywords, strings, numbers, and comments.
- Active Word Tracking: Tapping any variable or word instantly highlights all matching occurrences across the note.
- Color Themes & Pinning: Tag notes with Apple-style pastel accent swatches and pin important notes to the top.
- Staggered Grid: A fluid, Google Keep-style staggered grid with spring press feedback.
- Custom Folders: Categorize and organize notes into distinct project spaces.
- Emoji Badging: Choose from presets or customize folder icons with live emoji badges.
- Cascade Management: Clean cascade handling when folders and notes are organized or removed.
- Quick Presets: Rapidly create timers with predefined duration chips and activity tags (Work, Study, Workout, etc.).
- Scheduled Starts: Schedule timers to trigger automatically at specific times using device clocks.
- Active Breathing Pulse: Running timers feature an ambient breathing glow with spring-animated circular progress.
- Activity Rings: Canvas-drawn Apple-style animated progress rings for Sleep, Steps, and Hydration with spring intro physics.
- Step Counting: Hardware step sensor integration with real-time goal calibration.
- Celebration Fireworks: Reaching milestones triggers a 2D particle celebration.
- Interactive Navigation Pill: Fluid drag-to-slide indicator with haptic feedback, spring snapping, and icon state morphing (filled when selected, hollow when unselected).
- Hardware RenderNode Pipeline: Full-page transitions run via pure
.graphicsLayertranslations for hitch-free 120fps swiping. - Spring Sheet Settings: Smooth slide-up settings modal with theme switcher and goal preferences.
- Language: Kotlin 2.4.10
- UI Toolkit: Jetpack Compose with Material Design 3 (MD3)
- Architecture: MVVM (Model-View-ViewModel) with Kotlin Coroutines &
StateFlow - Local Database: Room 2.8.4 via KSP code generation
- Preferences & Serialization:
SharedPreferenceswithGson - Build System: Gradle Kotlin DSL (
build.gradle.kts) with Version Catalogs (gradle/libs.versions.toml)
- Android Studio Ladybug | 2024.2+ (or newer)
- JDK 17 or JDK 21
- Minimum SDK: API 26 (Android 8.0)
- Target SDK: API 36 (Android 15+)
- Clone the repository:
git clone https://github.com/weeeol/ActivityApp.git cd ActivityApp - Open the project in Android Studio.
- Allow Gradle to sync dependencies.
- Run on a device or emulator:
./gradlew installDebug
Run local unit tests:
./gradlew testAssemble debug build:
./gradlew assembleDebugThis project is licensed under the terms of the GNU General Public License v3.0 - see the LICENSE.txt file for details.



