Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

24 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Focus Clock Icon Focus Clock โณ

Focus Clock is a small desktop productivity timer app combining a Pomodoro-technique timer with custom, user-created timers. Built with Tauri, SolidJS, and TypeScript, and designed to sit on a second monitor as a lightweight companion so it doesn't clutter your main screen. This is an early alpha release โ€” it was built quickly and covers Phase 1 of its own roadmap.


Tech Used ๐Ÿง‘โ€๐Ÿ’ป

Tauri SolidJS TypeScript TailwindCSS Rust Vite


Core Features โšก

  • ๐Ÿ… Pomodoro Timer: Configurable work/break intervals (src/routes/pomodoro).

  • โฒ๏ธ Custom Timers: Create, save, and manage multiple named timers (src/routes/timer).

  • ๐Ÿ’พ Persistent Settings: Timer configuration and preferences saved locally via tauri-plugin-store.

  • ๐ŸŽจ Minimal UI: Custom titlebar and a simple navigation menu, built with SolidJS + Tailwind CSS.

  • ๐Ÿ’ป Lightweight: Minimal Rust dependency footprint โ€” no networking, just local settings storage.


Screenshots ๐Ÿ“ธ


Home Screen

Home: Overview of your timers and recent activity.


Navigation Menu

Navigation Menu: Quick minimal navigation menu without distractions.


Pomodoro Screen

Pomodoro: Start sessions with configurable intervals.


Timer Gallery

Timer Gallery: Manage your custom timers.


Settings Screen

Pomodoro Settings: Save your Pomodoro preferences.


About Screen

About: About page that describes the project.


Project Structure ๐Ÿ“‚

src/
โ”œโ”€โ”€ components/       # Reusable UI components (Titlebar, Navigation, ...)
โ”œโ”€โ”€ routes/
โ”‚   โ”œโ”€โ”€ pomodoro/     # PomodoroMain, PomodoroSettings, usePomodoro
โ”‚   โ””โ”€โ”€ timer/        # TimerMain, TimerGallery, TimerCard, NewTimerCard, useTimer
โ”œโ”€โ”€ config/           # store.ts โ€” persistent settings
โ”œโ”€โ”€ types/            # TypeScript types
โ””โ”€โ”€ style/            # Tailwind styles

src-tauri/            # Tauri backend (Rust) โ€” minimal, store + serde only
โ”œโ”€โ”€ src/
โ””โ”€โ”€ tauri.conf.json

Setup and Development ๐Ÿ› ๏ธ

  1. Prerequisites:

    • Node.js (v16+)
    • pnpm
    • Rust (latest stable)
  2. Install dependencies:

    pnpm install
  3. Run in development mode:

    pnpm tauri dev
  4. Build for production:

    pnpm build
    pnpm tauri build

    The bundled app will be available under src-tauri/target/release/.


Roadmap ๐Ÿ—บ๏ธ

Phase 1: Core Functionality โ€” done

  • Pomodoro timer with intervals
  • Custom timers
  • Persistent settings

Phase 2: Enhanced Features โ€” not started

  • Stats and reports
  • Advanced theming
  • Cloud sync

Current Status

Alpha (0.1.0). Phase 1 is complete and working; Phase 2 items above haven't been started. There's a leftover, unused src/temp/settings.tsx from an earlier settings rewrite that never got wired in.

About

๐…๐จ๐œ๐ฎ๐ฌ ๐‚๐ฅ๐จ๐œ๐ค is a minimalist desktop Pomodoro and custom timer app built with Tauri, SolidJS, and TypeScript for focused productivity sessions.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages