Skip to content

absswds/FlipClock

Repository files navigation

FlipClock

中文 | English

Web Demo Android Release Tests

A calm flip-clock for desk, bedside, and focus. Ships as a React web app and a native Kotlin/Compose Android app — same modes, same themes, local-first persistence.

FlipClock classic black clock

FlipClock paper desk demo

Prerequisites

Android Compatibility

Requirement Value
minSdk 26 (Android 8.0 Oreo)
Target SDK 35 (Android 15)
Language Kotlin + Jetpack Compose

Quick Start

Web — open in your browser in 30 seconds:

cd web
npm install
npm run dev

Then open http://localhost:5173 — the flip clock is ready.

Android — build and install the debug APK:

gradle :app:assembleDebug
# APK at app/build/outputs/apk/debug/app-debug.apk

Or open the project in Android Studio, sync Gradle, and click Run.

Desktop — single-file Windows launcher:

cd desktop
build.bat
# flipclock-desktop.exe → copy anywhere

Features

  • Full-screen flip clock with realistic mechanical animation (3D rotation, shadows, overshoot)
  • 12/24-hour display, optional seconds, AM/PM indicator
  • Timer, stopwatch, countdown, and Pomodoro focus modes
  • Editable timer — tap or swipe to adjust hours, minutes, seconds before starting
  • Countdown with preset targets (New Year, Christmas, etc.) and custom entries
  • Delete any countdown target (presets or custom) with confirmation
  • Three theme presets: Paper Desk, Classic Black, Pure Black
  • 10 interface languages: 中文, English, 日本語, 한국어, Français, Deutsch, Español, Português, Русский, العربية
  • Manual time-zone override for the main clock
  • Language-aware default signature
  • Completion chime for timer, countdown, and Pomodoro
  • Local persistence: browser localStorage (Web) / DataStore Preferences (Android)

Development

Web

cd web
npm install
npm run dev        # start dev server
npm run test       # Vitest
npm run build      # production build → web/dist

Built with React 19, TypeScript, Vite, and Vitest. Deploys to Cloudflare Pages on every push to the main branch.

Android

gradle :app:testDebugUnitTest
gradle :app:assembleDebug

Built with Kotlin and Jetpack Compose (minSdk 26). Open in Android Studio or run Gradle directly. The APK is generated at app/build/outputs/apk/debug/app-debug.apk.

Desktop Launcher

cd desktop
build.bat

The Windows desktop launcher embeds the built web app into a single .exe. It starts a local 127.0.0.1 server and opens FlipClock in an Edge/Chrome app-style window when available, falling back to the default browser. The generated .exe can be copied and run by itself.

Releases

Push a v* tag to trigger the release workflow. Each release publishes:

  • flipclock-web-<tag>.zip
  • flipclock-android-<tag>.apk
  • flipclock-desktop-<tag>.exe — single-file offline desktop launcher for Windows

Project Structure

.
|-- app/                    Android app source
|-- web/                    React/Vite web app
|-- desktop/                Go launcher — embeds web into a single .exe
|-- docs/assets/            Public README preview assets
|-- gradle/                 Gradle version catalog and wrapper metadata
|-- .github/workflows/      Release and deployment automation
|-- README.md               English public overview
`-- README-zh.md            Chinese public overview

About

A beautiful flip clock for desk, bedside, and focus.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors