Time (ChronoCraft) is an open-source, minimalist full-screen time application built with Flutter. Engineered for OLED displays, desktop docks, and bedside stands, it features sharp brutalist geometry (rounding = 0), distraction-free immersion, and multi-palette switching.
┌────────────────────────────────────────────────────────┐
│ TIME (FLUTTER) │
└───────────────────────────┬────────────────────────────┘
│
┌───────────────────┼───────────────────┐
▼ ▼ ▼
[CLOCK MODE] [COUNTDOWN MODE] [TIMER & STOPWATCH]
• Giant HH:MM • 4-Box Days/H/M/S • Focus Pomodoro
• Seconds badge • Horizon progress • Lap Stopwatch
• Day % elapsed • Custom targets • Tactile Controls
- Giant Monospace Digits: Ultra-large digital clock (
HH:MM). - Seconds & Meridian: Dedicated badge displaying
:SSandAM/PM. - Day Elapsed Progress Bar: Tracks percentage of the 24-hour day elapsed in real time.
- 12h / 24h Toggle: Tap the time box to toggle formats instantly.
- Date & Zone Badges: Displays full day of the week, date, and local timezone.
- Custom Event Targets: Tap the title to name your event (e.g., Product Launch, Vacation, Exam).
- 4-Box Split Grid: High-contrast, sharp brutalist boxes for DAYS, HOURS, MINUTES, and SECONDS.
- Horizon Completion Bar: Visual indicator displaying percentage of total time elapsed from creation to target date.
- Quick Presets: Instant
+7 Days,+30 Days, and date-picker dialogs.
- Countdown Timer:
- Focus presets: Pomodoro (25m), Short Break (5m), Deep Work (45m), and Power Nap (20m).
- Giant digital countdown with tactile START / PAUSE / RESET buttons.
- System alert sound and vibration (three pulses) when the timer finishes. The timer runs from an absolute end time, so it stays accurate if the app is paused or briefly backgrounded. There is no background notification: keep the app open (the screen stays on) to hear the alert.
- Precision Stopwatch:
- Millisecond precision (
MM:SS.ms). - Lap times recording with scrollable delta list.
- Millisecond precision (
-
Screen stays on: the display will not sleep while the clock is open (toggle Keep Screen On in the Design Studio).
-
Remembers your setup: theme, font, display toggles, last mode, countdown target and timer length are restored on launch.
-
Screen-reader friendly: each mode announces its time, and every control has a label.
-
Tap-to-Hide Immersion: Tap anywhere on the background to hide the top bar, theme selector, and navigation bar—leaving only the pure glowing clock numbers against OLED black.
-
Adaptive Landscape Dock: Rotating your device horizontally automatically transforms the layout into a widescreen bedside / desk stand clock with time on the left and focus telemetry on the right.
The vector UI wireframes and design token definitions are bundled in design/:
clock_screen.svg— Portrait Clock Screen (412 × 915).countdown_screen.svg— Portrait Countdown Screen (412 × 915).timer_screen.svg— Portrait Focus Timer Screen (412 × 915).landscape_clock.svg— Landscape Desk Stand Mode (915 × 412).design_tokens.json— Color palette, typography, and0pxborder radius tokens.
Every commit or version tag (v*) triggers .github/workflows/build-apk.yml:
- Sets up Java 17 (Temurin) and Flutter SDK (Stable) with caching.
- Runs code validation (
flutter analyzeandflutter test). - Compiles production release APKs:
Time-Universal.apk(Universal APK for all Android devices)Time-arm64-v8a.apk(Optimized 64-bit ARM)Time-armeabi-v7a.apk(32-bit ARM legacy support)
- Uploads APKs to GitHub Actions Artifacts (retained for 30 days).
- Automatically publishes APK binaries as assets on GitHub Releases whenever a release tag (e.g.
v3.0.0) is pushed!
lib/
main.dart app shell, gestures, keyboard shortcuts
logic/ pure timer / stopwatch / countdown logic (unit tested)
services/ saved settings, wake lock, alerts
theme/ 24 palettes and 14 fonts
views/ clock, countdown, focus timer and stopwatch screens
widgets/ Design Studio sheet and the control bars
test/ unit and widget tests
index.html standalone web live demo (separate from the Flutter app)
- Flutter SDK (stable, Dart ^3.11.5 — see
pubspec.yaml) - Android SDK (API 34+) or an active Android device / emulator
# 1. Clone repository
git clone https://github.com/apravint/time-android.git
cd time-android
# 2. Fetch Flutter packages
flutter pub get
# 3. Run on connected device or emulator
flutter run
# 4. Run checks (same as CI)
flutter analyze && flutter test
# 5. Build release APK
flutter build apk --releaseMIT License. Created by Pravin.