Projects

Chronograph (iOS)

Pomodoro timer and task management app with cross-device sync, sharing a codebase with the macOS version.

July 2016
Productivity

Chronograph — in-house Pomodoro timer and task management app (App Dev Academy) that tracks work intervals with configurable work/break cycles, manages tasks with due dates, and syncs data across devices. Shares codebase with the macOS version.

Technical info:

  • Written in Swift, Storyboard-based UIKit architecture (~164 shared + platform-specific source files)
  • Custom generic StateMachine<T> for timer state transitions — Pomodoro cycles (work → short break → long break) with willChangeState/didChangeState callbacks
  • Core Data persistence — Task and Interval entities with soft deletion and local change tracking for sync
  • Alamofire networking with Router enum pattern — API clients for auth, tasks, intervals, users, and subscriptions
  • SynchronizationManager — bi-directional sync with backend, queued export/import, periodic background sync with concurrency guards
  • Facebook SDK + email/password auth; SAMKeychain for token storage
  • Charts library for statistics visualization; Firebase analytics; Fabric/Crashlytics
  • In-App Subscriptions (StoreKit) with server-side receipt validation
  • Local notifications with smart scheduling — generates future notification chains based on current Pomodoro state
  • Universal app: iPhone + iPad support, deployment target iOS 10.0+

My role:

  • Design app architecture and build from scratch
  • Design Core Data schema and implement bi-directional sync with REST API
  • Build custom analog/digital clock and timer UI components
  • Implement shared codebase between iOS and macOS versions
  • iPad version of the app
  • Integration of analytics and In-App Subscriptions
Chronograph Timer
1 / 5