FingerGo

command module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 2, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

README ΒΆ

FingerGo

FingerGo cross-platform touch-typing trainer modern app

FingerGo is a cross-platform touch-typing trainer, designed to improve typing speed and accuracy, with a user-friendly and intuitive interface.
It includes real-time keyboard visualization, a hierarchical text and code library, and live statistics tracking.
Built with Go ↔ Wails ↔ Vanilla JavaScript (ES6+). Available for Linux, macOS, and Windows.

Features

β–Έ Clean Interface Design

β–Έ Shortcuts, Zen Mode, keyboard/Stat Toggle

β–Έ Real-time visual keyboard with finger mapping

β–Έ Hierarchical text/code library (plain text and code samples)

β–Έ Live stats: WPM, CPM, accuracy, per‑key mistakes

β–Έ Eye-friendly Dark/Light themes

β–Έ Customizable color theme

Screenshots

FingerGo main interface

Installation

πŸͺŸ Windows Release

Portable:

  1. Download FingerGo-{VERSION}-x64-portable.zip
  2. Extract and run FingerGo.exe

Requirements: Windows 10/11 with WebView2 (auto-downloads if missing)

🍎 macOS Release

DMG:

  1. Download FingerGo-{VERSION}-universal.dmg
  2. Open DMG and drag FingerGo to Applications
  3. First launch: Right-click β†’ Open (bypasses Gatekeeper if unsigned)

Supports: Intel and Apple Silicon (Universal binary)

🐧 Linux Releases

Flatpak:

flatpak install --user FingerGo-{VERSION}-x86_64.flatpak
flatpak run com.ashbuk.FingerGo

Portable (tar.gz):

# Requires WebKit2GTK 4.1 installed on your system.
tar -xzf FingerGo-{VERSION}-linux-x86_64.tar.gz
./FingerGo

Tech Stack

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   GUI LAYER          │◄──── Wails ───────►│  INTERNAL LAYER        β”‚
β”‚   HTML/CSS/JS        β”‚      Bridge        β”‚  Go 1.25+              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                                              β”‚
    Event-Driven                                   Repository
         β”‚                                              β”‚
    β”Œβ”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”                                   β”Œβ”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”
    β”‚ EventBus β”‚                                   β”‚ Repos    β”‚
    β”‚ (pub/sub)β”‚                                   β”‚ (DI)     β”‚
    β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜                                   β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
         β”‚                                              β”‚
    Modular JS                                    Domain Models
                                                         β”‚
                                                         β–Ό
                                           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                                           β”‚ JSON Storage        β”‚
                                           β”‚ ~/.local/share/...  β”‚
                                           β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  • Backend: Go 1.25+ with Repository Pattern (DI)
  • Bridge: Wails v2 provides Go↔JS communication
  • Frontend: Vanilla JavaScript (ES6+) with Event-Driven Architecture (pub/sub EventBus)
  • Storage: JSON files in XDG directories
  • Platforms: Linux, macOS, Windows

For Developers

Acknowledgments

Apache 2.0 LICENSE

If you use this project, please link back to this repo and ⭐ it if it helped you.

Sponsor

Sponsor PayPal

Please consider supporting development

Documentation ΒΆ

Overview ΒΆ

Package main provides FingerGo, a desktop touch-typing trainer.

Overview ΒΆ

FingerGo is a desktop touch-typing trainer app with real-time keyboard visualization and detailed typing analytics (WPM, accuracy, mistakes). Built with Wails (Go internal layer + HTML/CSS/JS GUI). Distributed for Linux (Flatpak).

Tech Stack ΒΆ

- Internal: Go 1.25+ - Desktop: Wails v2 - GUI: Vanilla JavaScript (ES6+), HTML5, CSS3 - Storage: JSON files - Platform: Linux

Key Features ΒΆ

- Real-time visual keyboard with finger mapping - Hierarchical text library (plain text and code samples) - Detailed stats: WPM, accuracy, per-key mistakes, session history - Minimalist UI with the Go gopher mascot

Package main provides Linux-specific theme detection. Sets GTK_THEME environment variable based on system color-scheme preference.

Directories ΒΆ

Path Synopsis
internal
storage
Package storage manages the on-disk data layout (container for the FingerGo app data).
Package storage manages the on-disk data layout (container for the FingerGo app data).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL