Still Hunting for Keys on Your Keyboard?
Real skill acquisition requires practice. And if you work on a computer, your practice almost always involves typing!
Believe me — as someone who switched from "hunt-and-peck" typing where you're constantly distracted, glancing at the keyboard, with attention continuously fragmenting, and a low typing speed ceiling (which impacts productivity overall)...
Our brains naturally take the path of least resistance, leading us to adopt incorrect techniques (whether it's keyboard typing or hand positioning when playing a musical instrument). This becomes both a narrow comfort zone and a limitation — sometimes even causing health issues!
If you work on a computer and type frequently (coding, for instance) — don't procrastinate. Start your transition to touch typing. It's a worthwhile investment!
I built a dedicated application for this: FingerGo.
✨ Key Advantages
- Cross-platform — Works on Linux, macOS, and Windows
- Lightweight binary
- Designed to improve typing speed and accuracy with a user-friendly and intuitive interface
- Eye-friendly Dark/Light themes with customization options
- Hierarchical text/code library (plain text and code samples)
- Productivity features: Shortcuts, Zen Mode, keyboard/stats toggle
🎯 Essential Touch-Typing Features
- Real-time visual keyboard with finger mapping
- Live statistics: WPM, CPM, accuracy, per-key mistakes tracking
🏗️ 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
Architecture Dive on ashbuk.hashnode.dev
Try It https://github.com/AshBuk/FingerGo
Start your journey to effortless touch typing! Your future self (and your productivity) will thank you.

Top comments (2)
Good post tho, keep it up
Thanks! I’m actually retraining myself on a split keyboard, and that’s why I built this app - hope it’ll be useful for others too.