Build notes, not marketing beats.
v0.4.0 CURRENT
11 NOV 2026
Fastfingaz. Same instrument, new label.
-
The rename is complete. The extension, manifest, popup, settings,
receipts, share cards, site and repository are now Fastfingaz. The receipt footer
prints
FASTFINGAZ.LOFTAH.COM. - Pixel F. The toolbar, store and favicon set use the approved pixel-grid F at 16, 32, 48, 128, 180, 192 and 512, including maskable icons.
- Old links keep working: the previous site address redirects here, and GitHub redirects the old repository and release URLs.
-
Local history is preserved: the internal
tt:storage keys were kept through the rename. No new permissions, no network code, 47 tests.
v0.3.4
11 NOV 2026
Four sizes, one instrument.
- Auto, Mini, Small, Medium, Large. Auto fits the conversation gutter; Mini is the WPM orb; Small, Medium and Large are the 142px, 286px and 360px panels. Manual sizes use the chosen width and may overlap the conversation.
- The popup has the size selector and remembers the choice. Changing size also shows the HUD if it was hidden.
- A LIVE RUN panel in the popup shows the current held WPM, time, words, flow, peak and status from the text-free session snapshot. It disappears when the run ends.
- No new permissions; 47 tests.
v0.3.3
11 NOV 2026
Dark, and easier to get back.
- The popup and settings page are now anodised black, matching the HUD. Receipts and share cards stay paper.
-
A HUD toggle sits at the top of the popup: HIDE HUD /
SHOW HUD. The toolbar badge reads
OFFwhile the HUD is hidden, and Alt+Shift+T still toggles it on ChatGPT. - Chart bars and scrollbars retuned for the dark palette; the light flash and muddy bars are gone.
- Scope unchanged: chatgpt.com only. A per-tab opt-in for other text boxes is on the roadmap, not in this build.
- No new permissions; 47 tests.
v0.3.2
11 NOV 2026
The orb moves.
- The collapsed WPM orb is now a drag handle. Move it anywhere; the position persists across reloads and chats. A click still expands it.
- A corner grip resizes the orb from 44px to 104px. Drag it, or focus it and use the arrow keys (hold Shift for bigger steps). The size persists.
- The full HUD still drags by its header and auto-fits the conversation gutter; the resize grip applies to the minimized orb.
- Settings adds Reset orb size next to Reset HUD position. No new permissions; 47 tests.
v0.3.1
11 NOV 2026
The live number tells the truth.
- The big live number now uses only the last eight seconds of actual typing. A think gap is skipped, not averaged in, so the reading holds instead of crashing when you pause to choose a word.
- Fixed the bleed: the reading is recomputed only when a key lands. The 250 ms UI tick can no longer slide it down while you think.
- A short run is no longer divided by a full eight seconds. A three-second burst reads as a three-second burst.
-
The idle big number is now labelled
LAST THINK, so it is not mistaken for a typing score. Use FLOW and PEAK to compare with Monkeytype. - No new permissions; 47 tests.
v0.3.0
11 NOV 2026
Pause and hold.
-
A pause button in the HUD header and the Alt+Shift+P shortcut.
A manual pause freezes the wall and active clocks, holds the big number, and shows
PAUSEDin the header and footer. Typing resumes automatically. - The paused interval is excluded from the final session’s wall and active time; it is a declared break, not a reset. It is not recorded as a receipt on its own.
- The live number is held for short gaps instead of bleeding down key by key, and the rolling window is 8 seconds. Automatic THINKING now waits 1.8 seconds.
- Same dark fixed 680px instrument, side-gutter rail and stable dock from 0.2.2. No new permissions; 42 tests.
v0.2.2
11 NOV 2026
Stable dock.
- The HUD and rail no longer re-dock when the ChatGPT composer grows with text. They stay put; the composer gets a wider gutter buffer instead.
- Wider right margin and a 32px rail gap, so the first keystroke cannot slide the composer under the instrument.
- One fixed frame across idle, draft, typing, thinking, receipt and share; no size change when you start working.
- Still 38 tests, no new permissions, no network code.
v0.2.1
11 NOV 2026
The night instrument.
- Anodised black HUD: the live instrument is dark, with a black LCD and signal orange data. Paper is reserved for the receipt and the documents.
- One fixed 680px frame across idle, draft, typing, thinking, receipt and share. The panel no longer changes size when you start working.
- Side-gutter layout: a 360px live instrument in the right gutter, a 320px baseline rail in the left gutter at wide widths, a 142px slim strip at 1440 and an orb when no true gutter fits.
- 120px primary reading at full width; the rail carries LAST / BEST / AVG, a 14-day chart, best/avg flow, readings/drafts and the recent log.
- The receipt cadence chart, paper print and share sheet all live inside the fixed frame. No new permissions; 38 tests.
v0.2.0
11 NOV 2026
The vertical instrument.
- New vertical HUD, anchored to the bottom of the viewport. It lives in the empty gutter beside the conversation: full 300 px at 1728/2048, a slim 140 px strip at 1440, and a 232 px medium panel at 1280 with the sidebar hidden.
- Think WPM, flow WPM, peak, best, rolling average, readings, drafts and steady rhythm are visible at once. The primary reading is 72–80 px.
- A pause now holds the run in THINKING; the live number does not drop to zero. Idle shows LAST / BEST / AVG, with dashes before the first reading.
-
Durable history in
chrome.storage.local: best think, flow and peak, last eligible session, a weighted 20-session rolling average and an all-time average. A lower run never overwrites a best. - Eligibility gates: sent prompts only, minimum characters and wall time, signal above 50%, paste-dominated runs rejected, resumed drafts kept in a draft bucket and excluded from best/average, IME runs excluded from best below 85% signal.
-
An in-progress snapshot is kept in
chrome.storage.sessionwithout text and shown as PAUSED / NOT RECORDED after a reload. - Share cards at 1200×630, 1080×1080 and 1080×1920. Each format is designed separately; the receipt keeps the serial, barcode, cadence bars and baseline.
- A share sheet in the HUD receipt and the popup: format tabs, live preview, file name and PNG size, copy and download.
- New static marketing site at fastfingaz.loftwah.com, deployed on Cloudflare Pages. No new extension permissions.
v0.1.1
11 NOV 2026
Draft-aware sessions, larger paper HUD.
- Draft state: an existing composer text shows DRAFT / TYPE TO MEASURE.
- 420 px paper housing with a black LCD and a 38-bar cadence meter.
- Smart docking beside the composer, with an above-composer fallback.
- Removed the theme setting; the report is always paper.
- 27 unit tests for the measurement core.
v0.1.0
10 NOV 2026
Initial local-first instrument.
- Chrome MV3 extension built with WXT, TypeScript and vanilla DOM/CSS.
- Think WPM, flow WPM, peak, consistency, correction rate, pauses and signal quality.
- Floating HUD, collapsed orb, printed receipt, keyboard toggle.
- 14-day history in the popup; export and clear in settings.
- Original share receipt at 1200×630, rendered locally on canvas.
Full commit history and release assets: github.com/loftwah/fastfingaz/releases. The Chrome Web Store listing is being prepared; nothing has been submitted for review.