Skip to content

cnzero/JustFocusOn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JustFocusOn

An iOS app that helps you stay focused when using apps. Set a purpose, set a time limit, and JustFocusOn keeps you accountable through the Dynamic Island and Live Activities.

How It Works

  1. Pick an app — Select which app you're about to use
  2. Set a time limit — Choose how long you need (1 min to 1 hour)
  3. Write your purpose — Why are you opening this app?
  4. Press Play — The selected app opens, and a Live Activity starts counting down

While you use the app, the Dynamic Island shows your purpose and remaining time — a constant reminder of why you're there and how long you have.

When time's up, you get a notification and JustFocusOn resets for your next session.

Features

  • Bar-style input — Compact setup with three fields: App, Time, Purpose
  • Dynamic Island — Shows purpose text (adaptive font) and live countdown timer
  • Live Activity — Lock screen banner with app name, purpose, and countdown
  • System-managed timer — Countdown runs independently via iOS, never stops in background
  • Auto-open app — Selected app launches automatically when session starts
  • Session summary — View focus history filtered by Day, Week, Month, or All time
    • Total focused time and session count
    • Per-app breakdown with visual bars
    • Individual session records with timestamps
  • Notification on completion — Alerts you when time is up, even if you're in another app
  • Auto-reset — Returns to setup screen when timer ends, ready for the next session

Requirements

  • iPhone with Dynamic Island (iPhone 14 Pro and later)
  • iOS 16.2+
  • Xcode 15+ with XcodeGen

Setup

# Install XcodeGen (if not installed)
brew install xcodegen

# Generate Xcode project
cd JustFocusOn
xcodegen generate

# Open in Xcode
open JustFocusOn.xcodeproj

In Xcode:

  1. Select your development team in Signing & Capabilities for both targets
  2. Select your iPhone as the run destination
  3. Press Cmd+R to build and run

Project Structure

JustFocusOn/
├── project.yml                              # XcodeGen config
├── Shared/
│   └── FocusSessionAttributes.swift         # ActivityKit attributes
├── JustFocusOn/                             # Main app
│   ├── App/JustFocusOnApp.swift             # Entry point
│   ├── Models/
│   │   ├── FocusSession.swift               # App item model + URL schemes
│   │   └── SessionStore.swift               # Session history persistence
│   ├── ViewModels/
│   │   └── FocusSessionViewModel.swift      # Session + Live Activity logic
│   └── Views/
│       ├── HomeView.swift                   # Setup bar + play/summary buttons
│       ├── AppPickerView.swift              # App selection list
│       ├── ActiveSessionView.swift          # Timer countdown view
│       └── SummaryView.swift                # Session history report
├── JustFocusOnWidgets/                      # Widget extension
│   ├── FocusLiveActivity.swift              # Dynamic Island + Lock Screen UI
│   └── JustFocusOnWidgetsBundle.swift       # Widget bundle entry

Future TODO

  • Screen Time API integration — Block other apps during focus sessions (requires paid Apple Developer account with Family Controls capability)
  • Custom app icons — Replace SF Symbols with real app icons in the picker
  • Haptic feedback — Vibrate when session starts and ends
  • Sound alerts — Play a sound when time is up
  • Session categories — Tag sessions (Work, Social, Entertainment, etc.)
  • Focus streaks — Track consecutive days of focused app usage
  • Weekly report — Push notification with weekly focus summary
  • Widget — Home screen widget showing today's focus stats
  • iCloud sync — Sync session history across devices
  • Shortcuts integration — Start focus sessions via Siri / Shortcuts app
  • Customizable themes — Dark/light mode and accent color options
  • Export data — Export session history as CSV
  • App Store release — Publish to the App Store

About

iOS focus session app with Live Activity / Dynamic Island support

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages