FastTimes
April 3, 2026 · View on GitHub
Simple, private, open-source Android intermittent fasting tracker.
Screenshots
Download
Coming Soon
FastTimes will soon be available on the Google Play Store.
Features
⏱️ Intermittent Fast Tracking
- Intuitive Timer: Start, stop, and adjust your fasts with a single tap. A persistent background service ensures your progress is tracked accurately, even if the app is closed or the device restarts.
- Flexible Fasting Goals: Choose from standard intermittent fasting plans (16:8, 20:4, OMAD) or define a custom goal that fits your specific routine.
- Visual Progress: Stay motivated with Material 3 Expressive countdowns and notifications.
- Comprehensive History: Review past fasts with detailed logs and edit previous entries to keep your data accurate.
- Streaks: Stay motivated by building up you fasting streaks, helping you build a habit.
- Statistics: Visualize your streaks and habits over time to better understand your progress.
🎨 Personalization
- Material 3 & Dynamic Colors: A modern Material 3 interface (using Material 3 Expressive components) that supports "Material You," automatically adapting to your system wallpaper colors.
- Theming Support: Seamlessly switch between light and dark themes for comfortable nighttime logging.
- UI Customization: Tailor the app's look with adjustable accent colors and interface elements.
🛡️ Privacy First
- 100% Offline: FastTimes works entirely without an internet connection. Your data never leaves your device.
- No Accounts, No Tracking: No email required, no cloud syncing, and absolutely no third-party analytics or trackers.
- Open Source: Built with transparency in mind.
- Full Data Control: You own your data. Export and Import your history as you wish.
🏗️ Modern Tech Stack
Built with the latest Android standards to ensure a high-performance, resilient experience:
- Jetpack Compose: A fully declarative UI for fluid animations and a modern user experience.
- Kotlin Coroutines & Flow: Powering reactive, non-blocking data streams throughout the app.
- Room & DataStore: Robust local-first persistence; Room handles complex fasting logs while DataStore manages user preferences.
- Hilt DI: Clean dependency injection for a modular, maintainable, and testable architecture.
- Clean Architecture (MVVM): Ensure the app is scalable and robust.
Project Structure
app/src/main/java/com/fasttimes/
├── alarms/ # Alarm scheduling logic
├── data/ # Room database, DataStore, Repositories
├── di/ # Hilt Dependency Injection modules
├── receiver/ # BroadcastReceivers (e.g., BootCompleted)
├── service/ # Foreground services
├── ui/ # Jetpack Compose screens and components
└── FastTimesApp.kt
Contribution Guidelines
We welcome contributions! To keep the codebase clean and consistent:
- Branching: Fork the repository and create a descriptive feature branch (e.g.,
feature/add-reminders). - Target Branch: Always submit Pull Requests against the
mainbranch. - Code Style:
- Follow Kotlin and Jetpack Compose best practices.
- This project uses Spotless for formatting. Run
./gradlew spotlessApplybefore committing your changes.
- Architecture: Stick to the existing MVVM and Hilt patterns for UI and Dependency Injection.
- Testing: Where possible, add unit tests for new logic. Verify everything passes with
./gradlew test. - PRs: Provide a clear description of the changes and link any relevant issues.
Donate
Help support the ongoing development of FastTimes through:
License
This project is licensed under the GNU General Public License v3.0. See LICENSE for details.
