A MonkeyType-inspired typing TUI
cd ./tools
go run ./cmd/typing/main.go | Component | Path | Description |
|---|---|---|
| Typing TUI | tools/internal/typing/, tools/cmd/typing |
Bubbletea TUI with WPM/accuracy |
| Scraper | tools/internal/scraper/, tools/cmd/scraper/ |
Scrapes quotes to JSONL |
| Seed generator | tools/internal/genseed/, tools/cmd/genseed/ |
Generates sqlite seed file from JSONL |
| Database | data/seed.db |
sqlite3 schema + seed |
quotes.jsonl is JSON Lines — one JSON object per line:
{"text":"Be yourself; everyone else is already taken.","author":"Oscar Wilde","source":"","tags":null}
{"text":"So many books, so little time.","author":"Frank Zappa","source":"","tags":["books","humor"]}| Field | Type | Notes |
|---|---|---|
text |
string | the quote body |
author |
string | e.g. "Oscar Wilde" |
source |
string | book/work title, often "" |
tags |
array of strings | quote tags, or null |
-
Typing UI built in python usingcurseslibrary - Webscraping quotes
-
PostgreSQL database with seed data - Migrate to sqlite
- Wire the typing TUI to the database
- Replace UI with Bubbletea
- Clean quotes
- Filter quotes by author & length
- Save progress
- Save custom quotes
- Different themes for the UI
MIT — see LICENSE.