Focus with ease. Flow with purpose.
A beautiful, privacy-first Pomodoro timer for iOS, Android, macOS, and Windows. Stay focused, track your productivity, and build better work habitsβall while keeping your data completely private.
- Customizable Timer - Adjust focus and break durations (1-120 minutes)
- Smart Statistics - Track productivity with daily, weekly, and monthly insights
- 5 Beautiful Themes - Choose from Classic Red, Ocean Blue, Forest Green, Midnight Dark, and Sunset Orange
- Smart Notifications - Stay on track with timely, non-intrusive alerts
- Haptic Feedback - Subtle vibrations for timer events
- Privacy First - All data stays on your device, always
- Cross-Platform - Single codebase for iOS, Android, macOS, and Windows
Requirements: iOS 17.0 or later
Requirements: Android 13.0 (API 33) or later
macOS and Windows builds available via the build script.
The Pomodoro Technique is a proven time management method that breaks work into focused intervals (traditionally 25 minutes) separated by short breaks.
How it works:
- Choose a task to focus on
- Start a 25-minute focus session
- Work without distractions until the timer ends
- Take a 5-minute break
- After 4 focus sessions, take a longer 15-minute break
- Repeat and build momentum
This simple approach helps improve focus, reduce mental fatigue, increase productivity, and build sustainable work habits.
Mr. Pomodoro/
βββ flutter/pomodoro_timer/ # Flutter App (Cross-platform) - PRIMARY
β βββ lib/ # Source code
β βββ test/ # 200+ tests
β βββ ios/ # iOS configuration
β βββ android/ # Android configuration
β βββ macos/ # macOS configuration
β βββ windows/ # Windows configuration
βββ website/ # Landing Page & Privacy Policy
β βββ www/
βββ screenshots/ # App Screenshots
βββ native_apps/ # Legacy Native Apps (Retired)
β βββ iOS/ # Native iOS App (SwiftUI)
β βββ android/ # Native Android App (Jetpack Compose)
βββ .github/workflows/ # CI/CD Pipelines
βββ build.sh # Build Automation Script
βββ DEPLOYMENT.md # Deployment Guide
βββ LICENSE
| Component | Technology |
|---|---|
| Language | Dart 3.8+ |
| Framework | Flutter 3.8+ |
| Architecture | Clean Architecture + BLoC |
| State Management | flutter_bloc ^9.1.1 |
| Navigation | go_router ^17.0.0 |
| Storage | SharedPreferences + Hive |
| Notifications | flutter_local_notifications ^19.5.0 |
| Charts | fl_chart ^0.69.0 |
| DI | get_it ^9.2.0 |
| Testing | 200+ comprehensive tests |
| Platforms | iOS, Android, macOS, Windows |
Key Features:
- ποΈ Clean Architecture - Scalable, testable, and maintainable code structure
- π¦ BLoC State Management - Predictable state handling with
flutter_bloc - π§ͺ 200+ Comprehensive Tests - Full test coverage for models, services, and UI
- π¨ Material Design 3 - Modern, beautiful UI following latest design guidelines
- πΎ Local Storage - Hive + SharedPreferences for fast, reliable persistence
- π Notifications - Local notifications for session completion
- π΅ Audio & Haptics - Sound effects and haptic feedback support
# Clone the repository
git clone https://github.com/avtansh-code/pomodoro_timer.git
cd pomodoro_timer
# Default build (iOS debug - no prompts)
./build.sh
# Or specify options directly
./build.sh -m release -p android # Android release
./build.sh -m release -p ios # iOS release
./build.sh -m release -p macos # macOS release
./build.sh -m release -p windows # Windows release
./build.sh -m debug -p android -i # Debug with install
./build.sh --interactive # Interactive mode with prompts# Clone the repository
git clone https://github.com/avtansh-code/pomodoro_timer.git
cd pomodoro_timer/flutter/pomodoro_timer
# Install dependencies
flutter pub get
# iOS specific setup
cd ios && pod install && cd ..
# Run the app
flutter run
# Run all tests
flutter testπ Flutter README - Complete setup and architecture guide
# Android (APK)
./build.sh -m release -p android
# iOS (IPA)
./build.sh -m release -p ios
# macOS
./build.sh -m release -p macos
# Windows
./build.sh -m release -p windowscd flutter/pomodoro_timer
# Android APK
flutter build apk --release
# Android App Bundle (Play Store)
flutter build appbundle --release
# iOS IPA (App Store)
flutter build ipa --release
# macOS
flutter build macos --release
# Windows
flutter build windows --releaseπ Full Deployment Guide - Complete instructions for publishing to App Store, Play Store, and desktop platforms
cd flutter/pomodoro_timer
# Run all tests
flutter test
# Run with coverage
flutter test --coverage
# Run specific test file
flutter test test/features/timer/bloc/timer_bloc_test.dartTest Breakdown:
- Core Models: 21+ tests
- Core Services: 21+ tests
- Data Layer: 17+ tests
- BLoC/Cubit: 57+ tests
- Widget Tests: 13+ tests
Tests are automatically run via GitHub Actions on:
- Pull requests to
main/master - Pushes to
main/master
The pipeline includes:
- Code formatting verification
- Static analysis
- Full test suite with coverage reporting
Your privacy is our priority. Mr. Pomodoro is designed with privacy at its core:
- No data collection - We don't collect any personal information
- No analytics - No tracking or usage statistics
- No third-party services - No external connections
- Local storage only - All data stays on your device
- 100% Offline - No internet connection required
Read our complete Privacy Policy.
Location: website/
The project includes a landing page with app features, download links, and privacy policy.
π Website README | π pomodorotimer.in
The original native iOS and Android implementations have been retired and moved to the native_apps/ folder. These are preserved for reference but are no longer actively maintained. The Flutter app is now the primary and only actively developed version.
- Location:
native_apps/iOS/ - Built with: Swift 5.0+, SwiftUI
- Status: Retired - Use Flutter app instead
- Location:
native_apps/android/ - Built with: Kotlin 2.0+, Jetpack Compose
- Status: Retired - Use Flutter app instead
π Legacy iOS README | π Legacy Android README
This project is open-source software licensed under the MIT License. See LICENSE for details.
Contributions are welcome! To get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Ensure code is formatted (
dart format .) - Ensure tests pass (
flutter test) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Bug Reports: GitHub Issues
- Feature Requests: GitHub Discussions
- Email: support@pomodorotimer.in
Created by Avtansh Gupta
- π Website: pomodorotimer.in
- π GitHub: @avtansh-code
Made with β€οΈ using Flutter