"Record the moment of learning, visualize motivation."
Interactive Study Timer App with Native iOS 17+ Widgets
StudyReel is not just a study timer. It is a native iOS application that generates continuous motivation by leaving "Proof of Learning".
It provides not only recording of study time but also robust data management with SwiftData, visualization of growth with Statistical Graphs, and a smooth experience of "Starting from the Home Screen in 0 seconds" with iOS 17 Interactive Widgets.
- Overview: A simple timer that does not disturb concentration.
- Feature: Integrated camera preview function allows you to record your study scene like a time-lapse.
- Update: Implemented "No Recording Mode" and "Disable Auto-Lock (during study)" based on user feedback to minimize stress during study.
- Overview: Analytics feature to check "how hard you worked" at a glance.
- Technology: Visualizes daily accumulation with beautiful trend graphs using
SwiftChartsand heatmap-style calendar display.
- Overview: Detailed management by subject or project.
- Feature: Supports planned learning with content classification by tags and daily/weekly goal setting functions.
- Overview: Home screen widget utilizing the latest features of iOS 17+.
- Technology:
WidgetKit+AppIntent. Start/Stop a 25-minute Pomodoro timer just by tapping a button on the home screen without opening the app.
Actively adopting the latest Apple platform technologies.
| Category | Technology | Usage |
|---|---|---|
| Language | Swift 5.9+ | iOS Native Development |
| UI Framework | SwiftUI | Declarative User Interface |
| Database | SwiftData | Modern Persistence Framework (iOS 17+) |
| Widget | WidgetKit | Interactive Widgets (App Intents) |
| Charts | Swift Charts | Native Data Visualization |
| Concurrency | Swift Concurrency | async/await |
| Architecture | MVVM | Clean Architecture pattern |
graph TD
User["📱 User"]
subgraph "Presentation Layer (SwiftUI)"
Views["Views (Start, Stats, Calendar)"]
Widget["🏠 Interactive Widget"]
end
subgraph "Domain/Data Layer"
VM["ViewModels"]
Model["SwiftData Models (Session, Goal)"]
Shared["📂 App Group (UserDefaults)"]
end
%% Flows
User -->|Tap Start| Views
User -->|Tap Widget| Widget
Views -->|Read/Write| VM
Widget -->|Read/Write| Shared
VM -->|Persist| Model
VM -->|Sync for Widget| Shared
- Xcode 15.0+
- iOS 17.0+ (Target Deployment: 18.5)
- Open
StudyTimerAndVideo.xcodeprojin Xcode. - Select your Development Team in
Signing & Capabilities. - Ensure App Groups (
group.com.ni.StudyTimerAndVideo) are configured for both targets. - Run (
Cmd + R).
Enludus
Focus: Native iOS & Flutter Development Contact: https://enludus.vercel.app
© 2025 StudyReel Project. All rights reserved.