PenDrop is a personal iOS project developed using SwiftUI, implementing a visually unique Pomodoro-style focus timer. It features a dynamic animated water wave that intuitively displays session progress, built as a hands-on exercise in modern iOS UI development. This project serves as a demonstration of SwiftUI concepts and building custom UI elements.
This project was developed primarily for:
- Practicing and deepening skills in SwiftUI.
- Learning to build custom, animated UI components (like the
WaterWaveView
). - Implementing timer logic and state management in a SwiftUI application using
ObservableObject
. - Creating a functional personal tool for productivity.
- Pomodoro Timer: Implements the core concept of focused work sessions followed by breaks.
- Visual Progress Indicator: Features a custom
WaterWaveView
that animates, filling up as the timer progresses. - Configurable Durations: Settings allow for adjusting work, short break, and long break times.
- Session Tracking: Displays the number of completed work sessions.
- Session Completion View: A distinct screen is shown when a timer finishes.
- Timer Controls: Play, Pause, and Reset actions.
- Haptic Feedback: Provides tactile confirmation for button taps.
- Swift: The core programming language.
- SwiftUI: Used for building the entire user interface in a declarative way.
- Combine: Integrated with
ObservableObject
in theTimerViewModel
for state management.
This project is a personal learning endeavor and is not actively maintained for public use or distribution. The code is shared for demonstration and portfolio purposes.
Feel free to explore the code! If you have any questions about the implementation, you can reach out via my GitHub profile.