Skip to content

ompathakbaap/Focus-Flow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Focus Flow 🎯

A premium Pomodoro & deep work timer built with Flutter. Features custom CustomPainter animations, BLoC state management, Hive local persistence, and a hand-drawn animated stats dashboard.

Tech Stack

  • State Management: flutter_bloc + Equatable
  • Persistence: Hive (local NoSQL)
  • Architecture: BLoC pattern (event β†’ state)
  • Animations: CustomPainter, AnimationController, Hero transitions
  • Platform: iOS + Android (portrait)

Setup

# 1. Get dependencies
flutter pub get

# 2. Run the app
flutter run

No API keys, no backend β€” runs 100% offline.

Project Structure

lib/
β”œβ”€β”€ main.dart                  # Entry point, Hive init, BLoC provider
β”œβ”€β”€ theme/
β”‚   └── app_theme.dart         # Color palette, ThemeData
β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ session_model.dart     # Hive model
β”‚   └── session_model.g.dart   # Generated adapter
β”œβ”€β”€ bloc/
β”‚   β”œβ”€β”€ timer_bloc.dart        # Business logic
β”‚   β”œβ”€β”€ timer_event.dart       # Events
β”‚   └── timer_state.dart       # States + SessionType enum
β”œβ”€β”€ screens/
β”‚   β”œβ”€β”€ timer_screen.dart      # Main timer UI
β”‚   └── stats_screen.dart      # Weekly stats dashboard
└── widgets/
    β”œβ”€β”€ timer_painter.dart     # CustomPainter arc timer
    β”œβ”€β”€ pulse_ring.dart        # Animated pulse rings
    β”œβ”€β”€ stats_chart.dart       # Animated bar chart (CustomPainter)
    β”œβ”€β”€ session_type_selector.dart
    └── pomodoro_dots.dart

Features

  • Animated circular countdown timer with tick marks and glow effect
  • Pulse ring animation when timer is running
  • Smooth session type switching (Focus / Short Break / Long Break)
  • Pomodoro dot tracker (4 dots per cycle)
  • Session history persisted with Hive
  • Weekly stats dashboard with animated bar chart
  • Streak counter + total focus time
  • Haptic feedback on pause/resume/complete
  • Slide transition to stats screen

About

A beautifully animated Pomodoro & deep work timer built with Flutter featuring BLoC state management, Hive persistence, and a custom-painted stats dashboard.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages