Gosh-Study-Timer Svelte Themes

Gosh Study Timer

A beautiful, cross-platform Pomodoro Timer built with Tauri + Svelte.

Gosh Study Timer

A beautiful, cross-platform Pomodoro Timer built with Tauri + Svelte.

Philosophy

Gosh apps are built with a Linux-first mindset: simplicity, transparency, and user control.

We also provide Windows and macOS builds not as a compromise, but as an on-ramp. Many people are curious about Linux but still live on other platforms day-to-day. If these tools help someone get comfortable and eventually make the jump, we're happy to meet them where they are.

Screenshots

Features

  • Timer Phases: Focus (25 min), Short Break (5 min), Long Break (15 min)
  • Quick Focus: Shortcuts for 15s, 30s, 5, 10, 15, 20 minute sessions
  • Auto-transitions: Configurable automatic phase transitions
  • Customizable: Adjust all timer durations and behaviors
  • Statistics: Track completed sessions, focus time, and daily streaks
  • Dark/Light Mode: Theme follows system preference or manual selection
  • System Tray: Quick controls without opening the main window
  • Desktop Notifications: Get notified when phases complete
  • Keyboard Shortcuts: Space (start/pause), R (reset), S (skip)
  • Cross-platform: Works on Windows, macOS, and Linux

Default Settings

Setting Default Range
Focus Duration 25 min 1-120 min
Short Break 5 min 1-30 min
Long Break 15 min 1-60 min
Sessions Before Long Break 4 1-10
Auto-start Breaks Off -
Auto-start Focus Off -
Notifications On -
Sound Effects On -
Theme System System/Dark/Light

Development

Prerequisites

Platform-Specific Audio

This app uses platform-specific audio backends:

  • Linux: GStreamer (requires development libraries)
  • Windows, macOS, iOS, Android: rodio (no extra dependencies)

Linux: GStreamer Installation

Debian/Ubuntu:

sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

Fedora:

sudo dnf install gstreamer1-devel gstreamer1-plugins-base-devel

Arch:

sudo pacman -S gstreamer gst-plugins-base

Other Platforms

No additional audio dependencies are required. The rodio library handles audio playback using native system APIs.

Setup

# Install dependencies
npm install

# Run in development mode
npm run tauri dev

# Build for production
npm run tauri build

Tech Stack

  • Backend: Tauri 2 + Rust
  • Frontend: Svelte 5 (runes) + TypeScript + Vite
  • Storage: JSON files (local-only, no cloud sync)

Data Storage

All data is stored locally in platform-standard locations:

Platform Settings Statistics
Linux ~/.config/study-timer/settings.json ~/.local/share/study-timer/stats.json
macOS ~/Library/Application Support/com.gosh.study-timer/settings.json Same directory
Windows %APPDATA%\gosh\study-timer\config\settings.json %APPDATA%\gosh\study-timer\data\stats.json

Keyboard Shortcuts

Key Action
Space Start/Pause timer
R Reset timer
S Skip to next phase

Note: Shortcuts are disabled when typing in input fields.

System Tray

  • Left-click: Show main window
  • Right-click: Menu with Start, Skip Phase, Show Window, Quit

Streaks

The current streak counts consecutive days where at least one focus session was completed. The streak resets if a day is missed.

Privacy

  • No ads, no telemetry, no analytics
  • All data stored locally
  • No network activity unless explicitly initiated

Disclaimer

This application is an independent project and is not sponsored by, endorsed by, or affiliated with GitHub or GitHub, Inc. This project is also not endorsed by or affiliated with the GStreamer project or its maintainers.

This software is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). It is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability or fitness for a particular purpose. Use at your own risk.

Top categories

Loading Svelte Themes