Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 

Repository files navigation

 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—      β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β•β•
β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ–ˆβ•—
β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘
β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
 β•šβ•β•β•β•β•β•β•šβ•β•β•β•β•β•β•β•šβ•β•  β•šβ•β• β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β• β•šβ•β•β•šβ•β•  β•šβ•β•β•β• β•šβ•β•β•β•β•β•
                    // VERB_HUNTER v1.0

"While you were waiting for Claude to think, someone turned the spinner into a game."


> WHAT IS THIS

Claude Code shows 187 unique spinner verbs while it's working β€” things like Combobulating..., Flibbertigibbeting..., Clauding....

This is a game to catch them all β€” now with four deep, mechanically distinct missions, a synthesized cyberpunk soundtrack, a takeover screensaver, and a help system that speaks five languages.

One HTML file. Zero dependencies. Pure vibes.


> QUICK START

# Just open the file. Seriously.
$ open index.html

That's it. Then:

1. Look at the spinning verb in the centre of the screen.
2. Press  SPACE  (or click  [ CATCH ]) when you see a word you want.
3. Press  H      to read the manual in 5 languages.
4. Press  M      to try the missions.
5. Press  C      to see what you've caught.

No install, no build, no network calls. Runs offline after first load.


> SCREENSHOT

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  CLAUDING // VERB_HUNTER v1.0        CAUGHT 42/187   β™ͺ  ? β”‚
β”‚                                                           β”‚
β”‚  Β· KERNEL PANIC   TIME 47.3   SCORE 820                   β”‚
β”‚  SYS β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘ 62%  β–£β–£β–’   GOAL 2/3 LEGEND    β”‚
β”‚                                                           β”‚
β”‚          β—‚ TGT.ACQ Β· 0xAF3E β–Έ                             β”‚
β”‚    <       Discombobulating...       >                    β”‚
β”‚               [ LEGENDARY ]                               β”‚
β”‚                                                           β”‚
β”‚                 [ C A T C H ]                             β”‚
β”‚                                                           β”‚
β”‚  ● DUMP β–†β–†β–†β–†β–†β–†β–†β–†β–†β–†β–†β–†β–“β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘  0x2A/0xBB Β· 22%      β”‚
β”‚         C β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–‘β–‘β–‘β–‘β–‘ 28/151                           β”‚
β”‚         R β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘  4/26                            β”‚
β”‚         L β–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘  1/10                            β”‚
β”‚                                                           β”‚
β”‚  NORMAL  FAST  INSANE  COLLECTION  MISSIONS SCR.SAVER     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

> FEATURES

[β– ] Matrix digital rain background
[β– ] Four-beam CRT scanline rig β€” out-of-sync, multi-colour, with a
    step-jumping flicker beam for that "losing raster sync" feel
[β– ] Text-centric targeting HUD β€” subtle CLI-style guillemets
    (β€Ή/ verb /β€Ί), call-sign tag that re-hashes each verb, animated
    scan pass, rarity underline β€” deliberately low-key so the verb
    reads first, the frame second
[β– ] Segmented "disk-dump" progress readout with quartile ticks,
    a blinking cyan write-head, and tier-split mini-bars
    (common/rare/legendary) + hex counts (0x2A/0xBB Β· 22%)
[β– ] Glitch text, vignette, particle burst FX on catch
[β– ] 3 rarity tiers β€” COMMON / RARE / LEGENDARY
[β– ] 3 speed modes β€” NORMAL / FAST / INSANE
[β– ] 4 missions, all mechanically distinct:
    Β· CLASSIC HUNT      β€” zen, collect-'em-all
    Β· KERNEL PANIC      β€” stability triage under core-dump pressure
    Β· REGEX GAUNTLET    β€” live /regex/ rotates every 10s
    Β· FORK BOMB         β€” :(){ :|:& };: β€” 1 β†’ 4 spinners, don't panic
[β– ] Collection tracker (187 slots) β€” click any RARE or LEGENDARY
    to pop its codex entry inline, anchored to the card
[β– ] Magenta-tinted Collection panel to distinguish it from
    cyan MISSIONS and amber SCR.SAVER
[β– ] Synthesized cyberpunk ambient BGM (Web Audio, zero files)
[β– ] Screensaver mode β€” drifting verb storm + transmission tickers
[β– ] Mission state pauses while screensaver is up
[β– ] Auto-save to localStorage (collection + BGM + language + bests)
[β– ] i18n help panel β€” 5 polished languages, silky smooth switching
[β– ] Auto-shrinking verb typography β€” long verbs like
    "Flibbertigibbeting..." stay on one line at any viewport
[β– ] Respects prefers-reduced-motion
[β– ] Keyboard-driven gameplay
[β– ] Single HTML file, zero build step

> RARITY

Tier Color Count Drop Rate
COMMON #00ff41 green 151 ~80.7%
RARE #ff00ff magenta 26 ~13.9%
LEGENDARY #ffab00 gold 10 ~5.3%

Legendary verbs β€” good luck catching these:

Clauding Β· Combobulating Β· Discombobulating Β· Recombobulating
Flibbertigibbeting Β· Prestidigitating Β· Whatchamacalliting
Hyperspacing Β· Quantumizing Β· Razzmatazzing

Each legendary (and every rare) ships with its own codex entry β€” one-line tagline plus a short piece of pseudo-lore.

Reading is on-demand from the Collection log (it was previously dumped on-screen during catch, which was noisy mid-hunt β€” the celebration FX still fire, just without the wall of text):

> Press  C  to open COLLECTION
> Click any RARE (magenta) or LEGENDARY (gold) card
> A codex popover anchors itself to the card, smart-flipping
  above / below to stay on-screen
> Click outside or press the Γ— to dismiss

> MISSIONS

Press M to open the mission select. The previous six-mission grab-bag was scrapped and replaced with four mechanically distinct modes β€” one zen-hunt baseline and three hard-leaning programmer-meme challenges.

01 Β· CLASSIC HUNT

The zen mode. No timer, no score, no pressure β€” just catch all 187 spinner verbs at your own pace. The Collection grid and codex popovers are the whole point here.

02 Β· KERNEL PANIC Β· "not syncing"

Triage under core-dump pressure. Your system stability starts at 100% and drains βˆ’3%/s. Every catch moves the needle:

  • COMMON = βˆ’20% (it's noise in the dump β€” poisons you)
  • RARE = +15% (stabilises)
  • LEGENDARY = +40% (hot-patches the kernel)

Catch 3 LEGENDARY before the bar flatlines to win. 0% = segfault, core dumped, mission failed. The fun: you have to actively refuse easy commons and hunt the risky big-value targets β€” the opposite instinct from the classic loop. Legendaries score huge. 90-second clock as a safety net.

03 Β· REGEX GAUNTLET Β· "now you have two problems"

Live pattern-matching reflex test. A JS regex displays at the top of the HUD and rotates every 10 seconds through a deck of 8 patterns (each progressively meaner), e.g.:

/ing$/            -ING terminal
/^(.)\1/i         doubled opening letter
/[aeiou]{3,}/i    vowel run of 3
/^[^aeiou]{3,}/i  consonant cluster
/(.).*\1.*\1/i    same letter Γ—3

Matching verbs glow on the main HUD. Catching a match scores base Γ— rarity (legendaries are worth 400!); catching a non-match costs score and βˆ’4s from the clock. Actually teaches your regex-brain to read patterns at speed. 75-second run, score-based.

04 Β· FORK BOMB Β· :(){ :|:& };:

Multitasking chaos with the internet's most famous one-liner. You start with one parent spinner. At 60 / 45 / 30 seconds remaining, a child process forks into existence β€” up to 4 simultaneous spinners, each cycling on its own independent timer.

  • Click a child or press 1-4 to focus it
  • SPACE catches the focused process
  • Missed cycles raise a heat meter
  • 100% heat = kernel panic, game over

Survive 75 seconds juggling processes. Pure chaos mode β€” maximum points come from rapid-fire catching across all 4 threads. Perfect for showing off.

All missions end on a debrief screen with per-mission stats, score, personal best tracking, and one-key retry (R).


> KEYBINDINGS

╔═══════════╦════════════════════════════════════════╗
β•‘   SPACE   β•‘  Catch (current verb / focused fork)   β•‘
β•‘     C     β•‘  Toggle collection drawer              β•‘
β•‘     M     β•‘  Open mission select                   β•‘
β•‘     B     β•‘  Toggle ambient BGM                    β•‘
β•‘     S     β•‘  Enter screensaver mode                β•‘
β•‘     R     β•‘  Retry mission (on results screen)     β•‘
β•‘     H     β•‘  Toggle help panel                     β•‘
β•‘  ENTER/SP β•‘  Open codex for focused RARE/LEGEND    β•‘
β•‘    1-3    β•‘  Switch speed mode (outside forkBomb)  β•‘
β•‘    1-4    β•‘  (FORK BOMB) Focus parent / child proc β•‘
β•‘    ESC    β•‘  Close any open panel                  β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•©β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

> HELP PANEL Β· i18n

The in-game help panel (H or ?) speaks five languages with smooth blur-fade transitions between them β€” no reload, no flicker.

β”Œβ”€ LANG Β· EN Β· δΈ­ Β· RU Β· ES Β· DE ──┐
β”‚  English  Β· Full English manual  β”‚
β”‚  δΈ­ζ–‡      Β· δΈ­ζ–‡ζ‰‹ε†Œ              β”‚
β”‚  Русский  Β· ΠžΡ‚ΠΏΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ тСкст β”‚
β”‚  EspaΓ±ol  Β· Manual pulido        β”‚
β”‚  Deutsch  Β· Poliertes Handbuch   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  • Language preference is persisted to localStorage.
  • First visit: auto-detects from navigator.language, falls back to en.
  • Click any code in the LANG strip to switch β€” content blurs, swaps, and fades back in within ~180ms.
  • Each translation is hand-tuned for a hacker/cyberpunk tone β€” UI terms like COMMON / RARE / LEGENDARY / SPACE / CATCH stay in English on purpose, so they match the live on-screen labels.

> AUDIO

The ambient track is synthesized live with Web Audio oscillators β€” no .mp3, no .ogg, nothing to download. Click β™ͺ in the header or press B to toggle. Your preference is saved to localStorage.


> SCREENSAVER

Press S or click SCR.SAVER to let the page take over the screen: drifting verb storm, random codex flashes, scrolling transmission tickers, a live clock, a "hex dump" panel, and auto-fullscreen.

Any key or click resumes the hunt.


> RUN

# option A: just open it
open index.html

# option B: local server if you're fancy
python3 -m http.server 8080
# then β†’ http://localhost:8080

# option C: npx
npx serve .

No npm install. No webpack. No node_modules black hole.


> TECH

Language Β·Β·Β·Β·Β·Β· HTML + CSS + Vanilla JS
Lines Β·Β·Β·Β·Β·Β·Β·Β·Β· ~6520 (single file)
Dependencies Β·Β· 0 β€” no fonts, no CDNs, no network calls
Build step Β·Β·Β·Β· none
Font Β·Β·Β·Β·Β·Β·Β·Β·Β·Β· System monospace stack (ui-monospace, Cascadia,
                SF Mono, Roboto Mono, Menlo, Consolas, …)
Audio Β·Β·Β·Β·Β·Β·Β·Β·Β· Web Audio API (synthesized, no files)
Rendering Β·Β·Β·Β·Β· 2D canvas (matrix rain, rAF-driven)
                Β· auto-pauses when the tab is hidden
                Β· debounced resize via rAF
CRT effects Β·Β·Β· Pure CSS β€” 4 overlapping scan-beams with
                prime-ish periods, a stepping flicker beam,
                a raster grid and a radial vignette
Collection Β·Β·Β·Β· Click-to-pop codex popover, smart-flipping
                above/below, re-positions on scroll/resize
Storage Β·Β·Β·Β·Β·Β·Β· localStorage
                Β· clauding_caught        β€” caught verbs
                Β· clauding_bgm           β€” BGM on/off
                Β· clauding_help_lang     β€” help panel language
                Β· clauding_last_mission  β€” last mission played
                Β· clauding_best_<mission> β€” per-mission best
Framework Β·Β·Β·Β·Β· willpower

> CONTROL ROW PALETTE

The main action bar uses four diegetic colour channels so each control reads distinctly at a glance:

NORMAL Β· FAST Β· INSANE    β†’  green   (speed / hunt)
COLLECTION                β†’  magenta (echoes RARE drops)
MISSIONS                  β†’  cyan
SCR.SAVER                 β†’  amber

Active panels light up their own button with a matching glow, so the current "mode" of the UI is always unambiguous.


> CREDITS


> LICENSE

MIT β€” do whatever you want. Catch responsibly.

$ echo "happy hunting" | sha256sum
> e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

About

Single-file HTML game to catch Claude Code's 187 spinner verbs. 3 rarity tiers, 4 missions (Classic Hunt, Kernel Panic, Regex Gauntlet, Fork Bomb), Matrix rain, CRT scanlines, Web Audio BGM, i18n help in 5 languages. HTML+CSS+vanilla JS, zero dependencies, no build, runs offline.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages