Sitemap
Every public URL, organized by section. Click any heading to collapse or expand. The XML sitemap for crawlers lives at /sitemap.xml. The Atom feed for the blog is at /feed.xml.
Practice (deep links)
Time mode
Words mode
Other modes
- Quote mode -- four length buckets.
- Daily quote -- one curated line per day.
- Zen mode -- untimed, endless.
- Adaptive mode -- words biased toward your weak keys.
- Custom text -- upload, paste, or save text to type.
Lessons (full curriculum)
Lessons index -- the full progressive curriculum.
- Lesson 1: Home row anchors
- Lesson 2: Home row inner
- Lesson 3: Home row full
- Lesson 4: Add e and i
- Lesson 5: Add t and n
- Lesson 6: Add o and h
- Lesson 7: Add r and u
- Lesson 8: Top-row left
- Lesson 9: Top-row right
- Lesson 10: Numbers row
- Lesson 11: Punctuation: comma + period
- Lesson 12: Punctuation: apostrophe + dash
- Lesson 13: Symbols: question + exclamation
- Lesson 14: Symbols: quotes + colon
- Lesson 15: Capital letters
- Lesson 16: Common bigrams: th, he, in
- Lesson 17: Common bigrams: er, an, re
- Lesson 18: Hard pairs: ed, st, nt
- Lesson 19: Hard pairs: ck, gh, qu
- Lesson 20: Adaptive review
- Lesson 21: Speed builder: short words
- Lesson 22: Speed builder: long words
- Lesson 23: Mixed punctuation
- Lesson 24: Mixed numbers + letters
- Lesson 25: Sentence starts: capital + period
- Lesson 26: Title case
- Lesson 27: All-caps acronyms
- Lesson 28: Proper nouns
- Lesson 29: Mixed-case sentences
- Lesson 30: Names with apostrophes
- Lesson 31: Hyphenated names + words
- Lesson 32: Caps speed run
- Lesson 33: Top-row digits
- Lesson 34: Round numbers
- Lesson 35: Decimals
- Lesson 36: Percentages
- Lesson 37: Currency
- Lesson 38: Bracket pairs
- Lesson 39: Math operators
- Lesson 40: Logic operators
- Lesson 41: Phone numbers + IDs
- Lesson 42: Dates + times
- Lesson 43: Units + measurements
- Lesson 44: Symbol gauntlet
- Lesson 45: JavaScript: declarations
- Lesson 46: JavaScript: arrow functions
- Lesson 47: JavaScript: control flow
- Lesson 48: Python: list comprehensions
- Lesson 49: Python: def + decorators
- Lesson 50: Python: imports + main
- Lesson 51: HTML: structural tags
- Lesson 52: CSS: selectors + properties
- Lesson 53: SQL queries
- Lesson 54: Bash one-liners
- Lesson 55: Regex patterns
- Lesson 56: Markdown + YAML
- Lesson 57: Austen -- Pride and Prejudice
- Lesson 58: Twain -- Huckleberry Finn
- Lesson 59: Melville -- Moby-Dick
- Lesson 60: Dickens -- A Tale of Two Cities
- Lesson 61: Shelley -- Frankenstein
- Lesson 62: Stoker -- Dracula
- Lesson 63: Wilde -- Dorian Gray
- Lesson 64: Carroll -- Alice's Adventures
- Lesson 65: Wells -- The Time Machine
- Lesson 66: Whitman -- Leaves of Grass
- Lesson 67: Thoreau -- Walden
- Lesson 68: Stevenson -- Treasure Island
- Lesson 69: Doyle -- Sherlock Holmes
- Lesson 70: Conrad -- Heart of Darkness
- Lesson 71: Poe -- The Raven
- Lesson 72: Frost -- The Road Not Taken
- Lesson 73: Legal: contract boilerplate
- Lesson 74: Medical Latin
- Lesson 75: Scientific notation
- Lesson 76: Finance: ledgers
- Lesson 77: Journalism: AP style
- Lesson 78: Screenplay format
- Lesson 79: Chess notation
- Lesson 80: URLs + email + slugs
- Lesson 81: F key drill
- Lesson 82: J key drill
- Lesson 83: F + J alternation
- Lesson 84: D key drill
- Lesson 85: K key drill
- Lesson 86: D + K alternation
- Lesson 87: S key drill
- Lesson 88: L key drill
- Lesson 89: S + L alternation
- Lesson 90: A key drill
- Lesson 91: Semicolon drill
- Lesson 92: Home row words: short
- Lesson 93: G key drill
- Lesson 94: H key drill
- Lesson 95: Bigram th drill
- Lesson 96: Bigram he drill
- Lesson 97: Bigram in drill
- Lesson 98: Bigram er drill
- Lesson 99: Bigram an drill
- Lesson 100: Bigram nd drill
- Lesson 101: Bigram ed drill
- Lesson 102: Bigram on drill
- Lesson 103: Bigram or drill
- Lesson 104: Bigram st drill
- Lesson 105: Bigram nt drill
- Lesson 106: Bigram at drill
- Lesson 107: Bigram en drill
- Lesson 108: Bigram is drill
- Lesson 109: Trigram tion drill
- Lesson 110: Trigram ing drill
- Lesson 111: Trigram ent drill
- Lesson 112: Trigram ist drill
- Lesson 113: Trigram for drill
- Lesson 114: Trigram his drill
- Lesson 115: 2-letter words sprint
- Lesson 116: 3-letter words sprint
- Lesson 117: 4-letter words sprint
- Lesson 118: 5-letter words sprint
- Lesson 119: Long words sprint
- Lesson 120: Pangram drill
- Lesson 121: TypeScript: types + interfaces
- Lesson 122: TypeScript: generics + utility types
- Lesson 123: Rust: ownership + borrowing
- Lesson 124: Rust: structs + impl
- Lesson 125: Go: interfaces + goroutines
- Lesson 126: Java: classes + lambdas
- Lesson 127: C: pointers + arrays
- Lesson 128: C++: templates + STL
- Lesson 129: Ruby: blocks + classes
- Lesson 130: Swift: optionals + closures
- Lesson 131: Kotlin: data classes + null safety
- Lesson 132: PHP: arrays + functions
- Lesson 133: Lua: tables + iteration
- Lesson 134: Elixir: pattern matching
- Lesson 135: Haskell: types + functions
- Lesson 136: Git commands
- Lesson 137: Docker + Kubernetes
- Lesson 138: JSON shapes
- Lesson 139: Tailwind class strings
- Lesson 140: React: components + hooks
- Lesson 141: Tolstoy -- Anna Karenina
- Lesson 142: Dostoevsky -- Crime and Punishment
- Lesson 143: Hugo -- Les Misérables
- Lesson 144: Eliot -- Middlemarch
- Lesson 145: Hawthorne -- The Scarlet Letter
- Lesson 146: James -- Portrait of a Lady
- Lesson 147: Wharton -- Age of Innocence
- Lesson 148: Cather -- My Ántonia
- Lesson 149: Crane -- Red Badge of Courage
- Lesson 150: Conrad -- Lord Jim
- Lesson 151: Forster -- Howards End
- Lesson 152: Joyce -- Dubliners
- Lesson 153: Lawrence -- Sons and Lovers
- Lesson 154: Hemingway -- short paragraph
- Lesson 155: Wilde -- The Importance of Being Earnest
- Lesson 156: Shakespeare -- Sonnet 18
- Lesson 157: Frost -- Stopping by Woods
- Lesson 158: Dickinson -- Hope
- Lesson 159: Whitman -- Song of Myself
- Lesson 160: Kipling -- If—
- Lesson 161: Lincoln -- Gettysburg Address (opening)
- Lesson 162: Lincoln -- Gettysburg Address (closing)
- Lesson 163: Patrick Henry -- Liberty or Death
- Lesson 164: FDR -- Day of Infamy
- Lesson 165: JFK -- Inaugural
- Lesson 166: Sojourner Truth -- Ain't I a Woman?
- Lesson 167: Roosevelt -- The Man in the Arena
- Lesson 168: Chief Joseph -- Surrender
- Lesson 169: Pericles -- Funeral Oration
- Lesson 170: Frederick Douglass -- Fourth of July
- Lesson 171: Academic citation (APA)
- Lesson 172: Code review comments
- Lesson 173: Recipe: ingredient list
- Lesson 174: Email composition
- Lesson 175: Stage directions (Shakespeare)
- Lesson 176: Music notation (text)
- Lesson 177: Periodic table snippet
- Lesson 178: Time zone references
- Lesson 179: Common abbreviations
- Lesson 180: Foreign loan phrases
- Lesson 181: Left index reach: f r v g t b
- Lesson 182: Right index reach: j u m h y n
- Lesson 183: Left middle reach: d e c
- Lesson 184: Right middle reach: k i comma
- Lesson 185: Left ring reach: s w x
- Lesson 186: Right ring reach: l o period
- Lesson 187: Left pinky reach: a q z
- Lesson 188: Right pinky reach: ; p slash
- Lesson 189: Index column workout
- Lesson 190: Middle column workout
- Lesson 191: Pinky column workout
- Lesson 192: b vs d
- Lesson 193: p vs q
- Lesson 194: u vs n
- Lesson 195: m vs n
- Lesson 196: i vs l
- Lesson 197: o vs 0
- Lesson 198: 1 vs l vs I
- Lesson 199: Top-25 English words
- Lesson 200: Words 26-50
- Lesson 201: Words 51-100
- Lesson 202: Word ladders: short to long
- Lesson 203: Function-word sentences
- Lesson 204: Bigram ou drill
- Lesson 205: Bigram al drill
- Lesson 206: Bigram el drill
- Lesson 207: Bigram il drill
- Lesson 208: Bigram ar drill
- Lesson 209: Bigram ck drill
- Lesson 210: Bigram ll drill
- Lesson 211: Bigram ss drill
- Lesson 212: Bigram ff drill
- Lesson 213: Comma rhythm
- Lesson 214: Period ending sentences
- Lesson 215: Quotation marks
- Lesson 216: Semicolon + colon
- Lesson 217: Em-dashes + parentheses
- Lesson 218: Apostrophes: contractions
- Lesson 219: Apostrophes: possessives
- Lesson 220: Hyphens + ranges
- Lesson 221: Counting 1-50
- Lesson 222: Even / odd / primes
- Lesson 223: Fibonacci
- Lesson 224: Powers of 2
- Lesson 225: Pi to 50 digits
- Lesson 226: e to 50 digits
- Lesson 227: Phone numbers (US)
- Lesson 228: ISBNs + IDs
- Lesson 229: Dates many formats
- Lesson 230: Time + duration
- Lesson 231: Bash: scripting basics
- Lesson 232: Python: comprehensions advanced
- Lesson 233: Python: async/await
- Lesson 234: JavaScript: async/await
- Lesson 235: JavaScript: array methods
- Lesson 236: SQL: joins + group by
- Lesson 237: SQL: window functions
- Lesson 238: Vim commands
- Lesson 239: Regex character classes
- Lesson 240: GraphQL query
- Lesson 241: YAML config
- Lesson 242: TOML + INI
- Lesson 243: Makefile
- Lesson 244: PowerShell pipeline
- Lesson 245: Network commands
- Lesson 246: CSS Grid + Flexbox
- Lesson 247: TypeScript: discriminated unions
- Lesson 248: Hawthorne -- The House of the Seven Gables
- Lesson 249: Stevenson -- Kidnapped
- Lesson 250: Dickens -- Oliver Twist
- Lesson 251: Austen -- Sense and Sensibility
- Lesson 252: Bronte -- Jane Eyre
- Lesson 253: Bronte -- Wuthering Heights
- Lesson 254: Dumas -- The Count of Monte Cristo
- Lesson 255: Verne -- 20,000 Leagues
- Lesson 256: Defoe -- Robinson Crusoe
- Lesson 257: Swift -- Gulliver's Travels
- Lesson 258: Stoker -- Dracula (later)
- Lesson 259: Verne -- Around the World in 80 Days
- Lesson 260: Lincoln -- Second Inaugural
- Lesson 261: Roosevelt -- Four Freedoms
- Lesson 262: Eisenhower -- Military-Industrial Complex
- Lesson 263: Kennedy -- Moon Speech
- Lesson 264: Anthony -- Women's Right to Vote
- Lesson 265: Stanton -- Declaration of Sentiments
- Lesson 266: Washington -- Farewell Address (excerpt)
- Lesson 267: Pankhurst -- Freedom or Death (excerpt)
- Lesson 268: Bryan -- Cross of Gold
- Lesson 269: Chief Seattle (attributed)
- Lesson 270: Booker T. Washington -- Atlanta Compromise
- Lesson 271: Short narrative paragraph
- Lesson 272: Description rhythm
- Lesson 273: Dialogue rhythm
- Lesson 274: Lists in prose
- Lesson 275: Compound + complex sentences
- Lesson 276: Legal: opinion text
- Lesson 277: Scientific abstract
- Lesson 278: Newswire lede
- Lesson 279: Sports recap paragraph
- Lesson 280: Recipe procedural prose
- Lesson 281: Common Spanish phrases
- Lesson 282: Common French phrases
- Lesson 283: Common German phrases
- Lesson 284: Common Italian phrases
- Lesson 285: Greek alphabet (transliterated)
- Lesson 286: Shelley -- Ozymandias
- Lesson 287: Keats -- Bright Star
- Lesson 288: Yeats -- Innisfree
- Lesson 289: Henley -- Invictus
- Lesson 290: Frost -- Fire and Ice
- Lesson 291: Endurance: Austen opening
- Lesson 292: Endurance: Twain opening
- Lesson 293: Endurance: Dickens opening
- Lesson 294: Endurance: Sagan Pale Blue Dot
- Lesson 295: Endurance: tech writing
- Lesson 296: Resume bullet points
- Lesson 297: Cover letter rhythm
- Lesson 298: Meeting notes format
- Lesson 299: Slack-style updates
- Lesson 300: Status report paragraph
- Lesson 301: Letter A — anchor, words, sentences
- Lesson 302: Letter B
- Lesson 303: Letter C
- Lesson 304: Letter D
- Lesson 305: Letter E
- Lesson 306: Letter F
- Lesson 307: Letter G
- Lesson 308: Letter H
- Lesson 309: Letter I
- Lesson 310: Letter J
- Lesson 311: Letter K
- Lesson 312: Letter L
- Lesson 313: Letter M
- Lesson 314: Letter N
- Lesson 315: Letter O
- Lesson 316: Letter P
- Lesson 317: Letter Q (always with U)
- Lesson 318: Letter R
- Lesson 319: Letter S
- Lesson 320: Letter T
- Lesson 321: Letter U
- Lesson 322: Letter V
- Lesson 323: Letter W
- Lesson 324: Letter X
- Lesson 325: Letter Y
- Lesson 326: Letter Z
- Lesson 327: Number 1
- Lesson 328: Number 2
- Lesson 329: Number 3
- Lesson 330: Number 4
- Lesson 331: Number 5
- Lesson 332: Number 6
- Lesson 333: Number 7
- Lesson 334: Number 8
- Lesson 335: Number 9
- Lesson 336: Number 0
- Lesson 337: Greetings
- Lesson 338: Farewells
- Lesson 339: Polite questions
- Lesson 340: Apologies + thanks
- Lesson 341: Restaurant phrases
- Lesson 342: Travel phrases
- Lesson 343: Weather + time
- Lesson 344: Directions
- Lesson 345: Phone + chat
- Lesson 346: Workplace small talk
- Lesson 347: Shopping + transactions
- Lesson 348: Agreement + disagreement
- Lesson 349: Compliments + reactions
- Lesson 350: Sympathy + encouragement
- Lesson 351: Email openers
- Lesson 352: Email closers
- Lesson 353: Meeting phrases
- Lesson 354: Decision-making
- Lesson 355: Negotiation phrases
- Lesson 356: Customer service
- Lesson 357: Top words 1–50
- Lesson 358: Top words 51–100
- Lesson 359: Top words 101–150
- Lesson 360: Top words 151–200
- Lesson 361: Top words 201–250
- Lesson 362: Top words 251–300
- Lesson 363: Common verbs
- Lesson 364: Common nouns
- Lesson 365: Common adjectives
- Lesson 366: Common adverbs
- Lesson 367: Days, months, seasons
- Lesson 368: Numbers in words
- Lesson 369: Colors
- Lesson 370: Body parts
- Lesson 371: Family + relationships
- Lesson 372: Foods + drinks
- Lesson 373: Office + tech terms
- Lesson 374: Places + buildings
- Lesson 375: Travel essentials
- Lesson 376: Emotions + feelings
- Lesson 377: Scala: case classes + pattern match
- Lesson 378: Clojure: functions + maps
- Lesson 379: OCaml: ADTs + recursion
- Lesson 380: F#: pipelines + records
- Lesson 381: Dart: classes + null safety
- Lesson 382: Julia: arrays + functions
- Lesson 383: R: data frames + ggplot
- Lesson 384: Erlang: actors + receive
- Lesson 385: Solidity: smart contract
- Lesson 386: Vue 3 single-file component
- Lesson 387: Angular component
- Lesson 388: Svelte component
- Lesson 389: Express middleware
- Lesson 390: Django view + URL
- Lesson 391: Rails controller
- Lesson 392: Phoenix LiveView
- Lesson 393: Terraform resource
- Lesson 394: Ansible playbook
- Lesson 395: Helm chart values
- Lesson 396: sed + awk one-liners
- Lesson 397: jq pipeline
- Lesson 398: tmux + screen commands
- Lesson 399: ripgrep + fd + fzf
- Lesson 400: MongoDB queries
- Lesson 401: Redis commands
- Lesson 402: Hardy -- Tess of the d'Urbervilles
- Lesson 403: Eliot -- Silas Marner
- Lesson 404: Cather -- O Pioneers!
- Lesson 405: Wharton -- Ethan Frome
- Lesson 406: James -- Daisy Miller
- Lesson 407: London -- Call of the Wild
- Lesson 408: London -- White Fang
- Lesson 409: Sinclair -- The Jungle
- Lesson 410: Conrad -- The Secret Agent
- Lesson 411: Joyce -- Portrait of the Artist
- Lesson 412: Gaskell -- North and South
- Lesson 413: Trollope -- Barchester Towers
- Lesson 414: Hugo -- The Hunchback
- Lesson 415: Verne -- Mysterious Island
- Lesson 416: Stevenson -- Treasure Island chapter
- Lesson 417: Twain -- Connecticut Yankee
- Lesson 418: Wells -- The Invisible Man
- Lesson 419: Doyle -- A Study in Scarlet
- Lesson 420: James -- Turn of the Screw
- Lesson 421: Lovecraft -- Call of Cthulhu
- Lesson 422: Declaration of Independence (preamble)
- Lesson 423: Declaration of Independence (closing)
- Lesson 424: U.S. Constitution Preamble
- Lesson 425: First Amendment
- Lesson 426: Bill of Rights II–IV
- Lesson 427: Magna Carta clause 39
- Lesson 428: Federalist No. 1 opening
- Lesson 429: Federalist No. 10 (faction)
- Lesson 430: Mayflower Compact
- Lesson 431: Emancipation Proclamation excerpt
- Lesson 432: Universal Declaration of Human Rights I
- Lesson 433: Universal Declaration Article 19
- Lesson 434: Treaty of Westphalia (paraphrase)
- Lesson 435: U.N. Charter Preamble
- Lesson 436: Geneva Convention (Common Article 3)
- Lesson 437: Wordsworth -- Daffodils
- Lesson 438: Tennyson -- The Eagle
- Lesson 439: Frost -- Birches
- Lesson 440: Yeats -- The Second Coming
- Lesson 441: Hopkins -- Pied Beauty
- Lesson 442: Dickinson -- Because I could not stop for Death
- Lesson 443: Whitman -- I Hear America Singing
- Lesson 444: Sandburg -- Fog
- Lesson 445: Williams -- The Red Wheelbarrow
- Lesson 446: Pound -- In a Station of the Metro
- Lesson 447: Lincoln -- House Divided
- Lesson 448: Frederick Douglass -- What is the Fourth
- Lesson 449: Theodore Roosevelt -- Strenuous Life
- Lesson 450: Churchill -- Finest Hour
- Lesson 451: Churchill -- Beaches
- Lesson 452: FDR -- First Inaugural
- Lesson 453: JFK -- Berlin Wall
- Lesson 454: Reagan -- Tear Down This Wall
- Lesson 455: Mandela -- Inaugural
- Lesson 456: Havel -- Power of the Powerless
- Lesson 457: Citation: MLA
- Lesson 458: Citation: Chicago
- Lesson 459: API documentation block
- Lesson 460: OpenAPI / Swagger spec
- Lesson 461: HTTP request + response
- Lesson 462: Stack trace
- Lesson 463: Error message + log line
- Lesson 464: Email signature block
- Lesson 465: Markdown table
- Lesson 466: Pull request description
- Lesson 467: Database schema (SQL DDL)
- Lesson 468: JSON Schema
- Lesson 469: GitHub Actions workflow
- Lesson 470: Cron expressions
- Lesson 471: Diff format (unified)
- Lesson 472: AWS CLI commands
- Lesson 473: kubectl commands
- Lesson 474: ENV file
- Lesson 475: .gitignore patterns
- Lesson 476: package.json scripts
- Lesson 477: Quote within quote
- Lesson 478: Nested parentheses
- Lesson 479: Em-dash vs en-dash
- Lesson 480: Ellipsis usage
- Lesson 481: Hyphenated compound modifiers
- Lesson 482: Dialogue tags
- Lesson 483: Question + exclamation mix
- Lesson 484: Comma splices fixed
- Lesson 485: Oxford comma + lists
- Lesson 486: Block quotation
- Lesson 487: Mixed terminal punctuation
- Lesson 488: Slash usage (and/or, dates, fractions)
- Lesson 489: Brackets for editorial insertion
- Lesson 490: Symbols in prose
- Lesson 491: Mastery: full alphabet sentence
- Lesson 492: Mastery: numbers + letters mixed
- Lesson 493: Mastery: code + prose hybrid
- Lesson 494: Mastery: punctuation gauntlet
- Lesson 495: Mastery: long-form paragraph (Sagan)
- Lesson 496: Mastery: long-form paragraph (Twain)
- Lesson 497: Mastery: technical paragraph
- Lesson 498: Mastery: speech excerpt (Lincoln)
- Lesson 499: Mastery: speed final (mixed)
- Lesson 500: Mastery: graduation passage
Drills
All drills -- finger-row, key-cluster, and pattern drills.
- Home Row -- Anchor your fingers on a-s-d-f and j-k-l-;. Every word here uses only home-row keys.
- Top Row -- Q through P. Every word uses only top-row keys.
- Bottom Row -- No vowels live on the bottom row, so this drill is letter clusters -- type the sequences as written.
- Left Hand -- Everything to the left of the index-finger split. All words use only left-hand keys.
- Right Hand -- Everything from the index-finger split rightward. All words use only right-hand keys.
- Vowels -- Pure vowels. No English word is all-vowel, so this drill is vowel clusters -- sing them.
- Punctuation -- Quote marks, dashes, semicolons. Drill the marks that slow most typists down.
- Numbers -- The number row. Mixed digit lengths to break finger habits.
- Alpha Mix -- Common short words across the whole alphabet. Warmup-friendly.
- A → Z -- Type the alphabet in order, A through Z. No shuffling.
- Z → A -- Type the alphabet backward, Z through A. No shuffling.
- Numpad: rows -- Each numpad row in turn -- 7-8-9, 4-5-6, 1-2-3, 0. Trains anchor.
- Numpad: mixed -- Random 3- and 4-digit groups across the whole pad.
- Numpad: decimals -- Decimal numbers -- practice the period key on the pad.
- Numpad: phone numbers -- Phone-format groupings with hyphens.
- Code: brackets -- Bracket pairs in isolation. Train the shifted-key reach.
- Code: math operators -- Math + comparison operators. = != < <= > >= && ||.
- Code: JS keywords -- Common JavaScript keywords and short tokens.
- Code: arrow functions -- Arrow-function shapes. Practice => with various arities.
- Code: Python decorators -- Python decorator and dunder patterns.
- Code: HTML tags -- Common HTML opening + closing tags. Type each pair fully.
- Code: Tailwind classes -- Common Tailwind utility-class strings.
- Numpad: row drills -- Step through each numpad row in sequence -- top (7-8-9), middle (4-5-6), bottom (1-2-3), then 0 thumb anchor.
- Numpad: mixed digits -- Jumbled digit sequences -- builds the cross-row jumps that pure-row drills miss.
- Numpad: decimals + comma -- Currency and measurement style. Drills the period and comma alongside digits -- common in spreadsheet entry.
- Numpad: phone numbers -- Hyphen-separated phone-number patterns. Trains the dash + digit muscle memory together.
- Numpad: math operators -- Arithmetic expressions with +, -, *, / and =. Trains the operator column on the right edge of the numpad.
- Left pinky isolation -- Pinky-only column on the left. Strengthens the weakest finger across all three rows.
- Left ring finger -- Left ring finger column drill across all three rows.
- Left middle finger -- Left middle column drill across all three rows.
- Left index finger -- Left index roams over six keys: F, R, T, G, V, B.
- Right index finger -- Right index column. Six keys that carry a lot of English.
- Right middle finger -- Right middle column with the comma. Punctuation rhythm built in.
- Right ring finger -- Right ring finger including the period. Trains end-of-sentence rhythm.
- Right pinky finger -- Right pinky -- the trickiest finger. Outer column with semicolons, colons, slashes.
- Bigram: th -- Top English bigram. The most-typed two-letter pattern.
- Bigram: he -- Second-most-common English bigram. Anchors many short words.
- Bigram: in -- Words anchored on -in-. Trains a heavy English pattern.
- Bigram: er -- Words ending in -er. A heavy English suffix pattern.
- Bigram: an -- Words anchored on -an-.
- Bigram: re -- Words anchored on -re- including the re- prefix.
- Trigram: -tion -- One of English's most productive suffixes.
- Trigram: -ing -- Present-participle suffix.
- Trigram: -ent -- -ent endings: silent, talent, agent, parent.
- Trigram: -est -- Superlative suffix -est.
- Two-letter words -- All common two-letter English words. Trains rhythm and word-boundary spacing.
- Three-letter words -- Top three-letter words: the, and, for, you, etc.
- Four-letter words -- High-frequency four-letter words. Builds steady rhythm.
- Shift: acronyms -- All-caps acronyms. Trains both shift keys without breaking rhythm.
- Shift: proper nouns -- Names, places, titles. Mixes shift use with regular flow.
- Shift: camelCase -- Programming-style camelCase identifiers. Mid-word shift drill.
- Code: strings + escapes -- Quoted strings with escape sequences.
- Code: import statements -- Import / require / from boilerplate across JS, Python, Rust, Go.
- Code: comment styles -- Single-line, multi-line, JSDoc, and shell comment styles.
- Code: shell prompts -- Realistic shell prompts and short commands.
- Email addresses -- Real-style email addresses. Trains the @ key with name + domain rhythm.
- URLs -- Real URL shapes including paths, query strings, fragments.
- Hashtags + handles -- Social-media style hashtags and at-handles.
- File paths -- Unix-style file paths plus extensions. Trains forward-slash rhythm.
- Roman numerals -- Roman numerals. Pure shift-key + rare-letter drill.
- Greek letter names -- Greek alphabet spelled out. Useful for math + science notation.
- Double-letter words -- Words containing doubled letters. Drills repeat-key rhythm.
- Rare-letter words -- Words containing j, q, x, z. The least-used four letters in English.
- Palindromes -- Words that read the same forward and backward.
- Tongue twisters -- Classic tongue twisters as continuous text.
- Speed burst (short) -- A handful of short, easy words. Run as fast as possible.
- Speed burst (medium) -- Medium-length common words. Builds sustained speed.
- Speed burst (hard) -- Long, awkward words. Builds raw speed under load.
- Quote punctuation -- Quoted dialogue with terminal punctuation.
- Hyphens + dashes -- Compound modifiers and ranges.
- Punctuation mix -- Common terminal + internal punctuation in real word patterns.
- Years -- Common four-digit years. Trains digit-row rhythm in groups.
- Prices ($) -- Currency amounts with the $ key.
- Percentages -- Percentages including decimals.
Challenges
All challenges -- bests tracked locally.
- Sprint -- 60 seconds. Hit 60 wpm at 95% accuracy.
- Marathon -- 5 minutes. Hold 50 wpm at 96% the whole way.
- 100 Words -- Type 100 common words. Aim for 70 wpm.
- 500 Words -- Endurance. 500 words. 60 wpm to clear it.
- Quote Chase -- A literary quote. Don't just type — read.
- Mountain Climb -- Words get harder as you climb. Don't slip.
- Pangram Run -- Every letter, every time. Hit them all.
- Numbers Gauntlet -- Numbers only. Surprisingly painful.
- Punctuation Gauntlet -- Apostrophes, hyphens, periods. The works.
- Code Mode -- Function, const, return. Symbols included.
- Zen -- No timer. No goal. Just type until you stop.
- Lightning -- 15 seconds. Show your top gear -- 80 wpm to clear it.
- Blitz -- 30 seconds. 70 wpm at 95% to clear.
- Two Minutes -- 120 seconds. Hold 65 wpm.
- Ten Minutes -- 600 seconds of sustained focus. 45 wpm at 96%.
- 50 Words -- Quick run. 50 words at 65 wpm.
- 200 Words -- Mid-distance. 200 words, 60 wpm.
- 1000 Words -- Pure endurance. A thousand words at 50 wpm.
- Perfect 100 -- 100 words at 100% accuracy. One miss disqualifies.
- Precision Run -- 50 words, 99% accuracy minimum.
- Stop on Error -- Cursor halts on every wrong key. 60 words at 96%.
- Bronze Tier -- 60 seconds. 40 wpm at 92%. The first rung.
- Silver Tier -- 60 seconds. 70 wpm at 95%.
- Gold Tier -- 60 seconds. 90 wpm at 96%.
- Platinum Tier -- 60 seconds. 110 wpm at 97%.
- Diamond Tier -- 60 seconds. 130 wpm at 98%. Legendary.
- Long Quote -- A long literary passage. Type carefully.
- Poetry Run -- A public-domain poem. Mind the line breaks.
- Famous Speech -- A passage from a public-domain speech.
- Code Marathon -- 200 tokens of real code. Symbols matter.
- Symbols Only -- Brackets, quotes, operators, punctuation. Pure symbol drill.
- Uppercase Sprint -- All-caps acronyms and proper nouns. Shift-key gauntlet.
- 100 Numbers -- 100 numbers. Years, prices, codes, IDs.
- Alphabet Sprint -- Type the alphabet five times in a row, no errors.
- Numbers + Alphabet -- Digits 0-9 then A-Z. Shift between rows cleanly.
- No Backspace -- 100 words, but you can't fix mistakes. 95% to clear.
- The Comeback -- Type for 3 minutes -- but only the second half counts.
- Hour of Power -- 60 minutes of typing. Hold 40 wpm at 96%.
Library
Corpora
- Quotes -- curated literary quotes, searchable, collection-able.
- Idioms -- common English idioms with their meanings.
- Parables -- Aesop and short moral stories, public domain.
- Poetry -- public-domain poems, pre-1929.
- Library (books) -- full Project Gutenberg books split by paragraph.
Books in the library
- Aesop's Fables by Aesop (February 1, 2004)
- The Secret Adversary by Agatha Christie (1922)
- The Federalist Papers by Alexander Hamilton (July 1, 1998)
- The Count of Monte Cristo by Alexandre Dumas (January 1, 1998)
- The Three Musketeers by Alexandre Dumas (March 1, 1998)
- Locrine by Algernon Charles Swinburne
- Black Beauty by Anna Sewell (January 16, 2006)
- The Prisoner of Zenda by Anthony Hope
- Relics of General Chasse by Anthony Trollope
- The Cherry Orchard by Anton Chekhov (1904)
- The Seagull by Anton Chekhov (1895)
- Three Sisters by Anton Chekhov (1900)
- Uncle Vanya by Anton Chekhov (1898)
- The Nicomachean Ethics of Aristotle by Aristotle
- The Poetics of Aristotle by Aristotle (November 1, 1999)
- The Adventures of Sherlock Holmes by Arthur Conan Doyle (March 1, 1999)
- The Memoirs of Sherlock Holmes by Arthur Conan Doyle
- The Scarlet Pimpernel by Baroness Orczy
- A Theological-Political Treatise [Part Iv] by Benedict of Spinoza
- Heartbreak House by Bernard Shaw (November 1, 2002)
- Man and Superman: a Comedy and a Philosophy by Bernard Shaw (March 22, 2006)
- Dracula by Bram Stoker (October 1, 1995)
- The Adventures of Pinocchio by Carlo Collodi (January 12, 2006)
- On the Origin of Species by Means of Natural Selection by Charles Darwin (March 1, 1998)
- The Descent of Man by Charles Darwin
- A Christmas Carol in Prose by Charles Dickens (August 11, 2004)
- A Tale of Two Cities by Charles Dickens (January 1, 1994)
- Barnaby Rudge by Charles Dickens
- Dombey and Son by Charles Dickens
- Great Expectations by Charles Dickens (July 1, 1998)
- Life and Adventures of Martin Chuzzlewit by Charles Dickens
- Oliver Twist by Charles Dickens (November 1, 1996)
- The Life and Adventures of Nicholas Nickleby by Charles Dickens
- The Old Curiosity Shop by Charles Dickens
- Jane Eyre: an Autobiography by Charlotte Bronte (March 1, 1998)
- The Yellow Wallpaper by Charlotte Perkins Gilman (November 1, 1999)
- The Tragical History of Doctor Faustus by Christopher Marlowe (1604)
- Moll Flanders by Daniel Defoe (1722)
- The Life and Adventures of Robinson Crusoe by Daniel Defoe (May 1, 1996)
- Howards End by E. M. Forster (December 22, 2008)
- Five Children and It by E. Nesbit (1902)
- The Railway Children by E. Nesbit (1906)
- The Raven by Edgar Allan Poe (November 30, 2005)
- Spoon River Anthology by Edgar Lee Masters (1915)
- At the Earth's Core by Edgar Rice Burroughs (1914)
- The Beasts of Tarzan by Edgar Rice Burroughs
- The Gods of Mars by Edgar Rice Burroughs
- The Return of Tarzan by Edgar Rice Burroughs
- The Son of Tarzan by Edgar Rice Burroughs (1914)
- The Warlord of Mars by Edgar Rice Burroughs
- Thuvia, Maid of Mars by Edgar Rice Burroughs (1916)
- The House of Mirth by Edith Wharton
- Germinal by Émile Zola (1885)
- Thérèse Raquin by Émile Zola (1867)
- Wuthering Heights by Emily Bronte (December 1, 1996)
- The Riddle of the Sands by Erskine Childers (1903)
- Evelina by Frances Burney (1778)
- The Secret Garden by Frances Hodgson Burnett (December 26, 2005)
- Metamorphosis by Franz Kafka (August 17, 2005)
- Narrative of the Life of Frederick Douglass, an American Slave by Frederick Douglass (January 12, 2006)
- Thus Spake Zarathustra by Friedrich Nietzsche
- Beyond Good and Evil by Friedrich Wilhelm Nietzsche (August 1, 2003)
- Demons by Fyodor Dostoevsky (1872)
- Crime and Punishment by Fyodor Dostoyevsky (March 28, 2006)
- Notes From the Underground by Fyodor Dostoyevsky (July 1, 1996)
- The Idiot by Fyodor Dostoyevsky
- White Nights, and Other Stories by Fyodor Dostoyevsky (May 5, 2011)
- The Innocence of Father Brown by G. K. Chesterton (1911)
- The Man Who Was Thursday by G. K. Chesterton (1908)
- The Canterbury Tales by Geoffrey Chaucer
- Arms and the Man by George Bernard Shaw
- Caesar and Cleopatra by George Bernard Shaw
- Pygmalion by George Bernard Shaw
- The Mill on the Floss by George Eliot
- Adam Bede by George Eliot [pseudonym of Mary Anne Evans]
- The Princess and the Goblin by George MacDonald (1872)
- Madame Bovary by Gustave Flaubert (February 26, 2006)
- Floor Games; a Companion Volume to "Little Wars" by H. G. Wells (January 1, 2003)
- The First Men in the Moon by H. G. Wells (1901)
- The Invisible Man by H. G. Wells
- The Time Machine by H. G. Wells (October 2, 2004)
- The War of the Worlds by H. G. Wells (October 1, 2004)
- Tono-Bungay by H. G. Wells (1909)
- When the Sleeper Wakes by H. G. Wells (1899)
- At the Mountains of Madness by H. P. Lovecraft
- A Doll's House by Henrik Ibsen (March 1, 2001)
- Hedda Gabler by Henrik Ibsen (1890)
- On the Duty of Civil Disobedience by Henry David Thoreau (June 1, 1993)
- Walden, and on the Duty of Civil Disobedience by Henry David Thoreau (January 1, 1995)
- The History of Tom Jones, a Foundling by Henry Fielding (1749)
- Daisy Miller by Henry James
- The Ambassadors by Henry James
- The Ambassadors by Henry James
- The Bostonians, Vol. II (Of Ii) by Henry James (November 5, 2006)
- The Portrait of a Lady by Henry James (December 1, 2008)
- The Princess Casamassima by Henry James (1886)
- The Turn of the Screw by Henry James (February 1, 1995)
- Washington Square by Henry James
- What Maisie Knew by Henry James (1897)
- Bartleby, the Scrivener: a Story of Wall-Street by Herman Melville (February 1, 2004)
- Billy Budd, Sailor by Herman Melville (1924)
- Moby Dick by Herman Melville (July 1, 2001)
- Typee by Herman Melville (1846)
- The Odyssey by Homer
- Eugénie Grandet by Honoré de Balzac (1833)
- Père Goriot by Honoré de Balzac (1835)
- Fathers and Children by Ivan Sergeevich Turgenev (December 21, 2009)
- Peter Pan by J. M. Barrie (June 25, 2008)
- The Call of the Wild by Jack London (July 2, 2008)
- The Sea-Wolf by Jack London (October 1, 1997)
- Dubliners by James Joyce
- Pride and Prejudice by Jane Austen (June 1, 1998)
- Sense and Sensibility by Jane Austen
- Three Men in a Boat by Jerome K. Jerome
- Hermann and Dorothea by Johann Wolfgang von Goethe (November 1, 1999)
- The Sorrows of Young Werther by Johann Wolfgang von Goethe (1774)
- Heidi by Johanna Spyri (September 1, 1998)
- The Thirty-Nine Steps by John Buchan (1915)
- The Forsyte Saga by John Galsworthy (1922)
- On Liberty by John Stuart Mill (1859)
- A Modest Proposal by Jonathan Swift (October 1, 1997)
- Gulliver's Travels Into Several Remote Nations of the World by Jonathan Swift (February 1, 1997)
- Heart of Darkness by Joseph Conrad (January 9, 2006)
- Lord Jim by Joseph Conrad
- The Secret Agent by Joseph Conrad
- A Journey to the Centre of the Earth by Jules Verne (July 18, 2006)
- Around the World in Eighty Days by Jules Verne (January 1, 1994)
- Five Weeks in a Balloon by Jules Verne (1863)
- Twenty Thousand Leagues Under the Sea by Jules Verne (September 1, 1994)
- The Communist Manifesto by Karl Marx (January 25, 2005)
- The Awakening, and Selected Short Stories by Kate Chopin (March 11, 2006)
- The Wind in the Willows by Kenneth Grahame (July 1, 1995)
- Ozma of Oz by L. Frank Baum (1907)
- The Marvelous Land of Oz by L. Frank Baum (1904)
- The Wonderful Wizard of Oz by L. Frank Baum (February 1, 1993)
- Anne of Green Gables by L. M. Montgomery (June 27, 2008)
- The Life and Opinions of Tristram Shandy, Gentleman by Laurence Sterne (1759)
- War and Peace by Leo Tolstoy
- Alice's Adventures in Wonderland by Lewis Carroll (June 27, 2008)
- Orlando Furioso by Lodovico Ariosto (August 1, 1996)
- Little Women by Louisa May Alcott (May 1, 1996)
- Meditations by Marcus Aurelius (June 1, 2001)
- Adventures of Huckleberry Finn by Mark Twain (June 29, 2004)
- Following the Equator by Mark Twain (1897)
- Personal Recollections of Joan of Arc by Mark Twain (1896)
- Pudd'nhead Wilson by Mark Twain (1894)
- The Adventures of Tom Sawyer by Mark Twain (July 1, 2004)
- The Mysterious Stranger and Other Stories by Mark Twain
- Tom Sawyer Abroad by Mark Twain (1894)
- Life on the Mississippi by Mark Twain (Samuel Clemens)
- The Prince and the Pauper by Mark Twain (Samuel Clemens)
- Hans Brinker, or The Silver Skates by Mary Mapes Dodge (1865)
- Frankenstein by Mary Wollstonecraft Shelley (October 1, 1993)
- Don Quixote by Miguel de Cervantes Saavedra (July 27, 2004)
- Tartuffe by Moliere (January 1, 2000)
- The Prince by Niccolo Machiavelli (February 11, 2006)
- Dead Souls by Nikolai Gogol (1842)
- Taras Bulba by Nikolai Gogol (1835)
- The Importance of Being Earnest: a Trivial Comedy for Serious People by Oscar Wilde (March 1, 1997)
- The Picture of Dorian Gray by Oscar Wilde (October 1, 1994)
- Apology by Plato
- The Metamorphoses of Ovid by Publius Ovidius Naso
- The Coral Island by R. M. Ballantyne
- Gitanjali by Rabindranath Tagore (1912)
- Essays by Ralph Waldo Emerson by Ralph Waldo Emerson (September 4, 2005)
- A Discourse on Method by Rene Descartes
- The Strange Case of Dr. Jekyll and Mr. Hyde by Robert Louis Stevenson (June 27, 2008)
- Treasure Island by Robert Louis Stevenson (February 26, 2006)
- "Captains Courageous": a Story of the Grand Banks by Rudyard Kipling (May 1, 2000)
- Just So Stories by Rudyard Kipling (December 22, 2008)
- The Jungle Book by Rudyard Kipling (January 16, 2006)
- Erewhon by Samuel Butler (1872)
- The Way of All Flesh by Samuel Butler (1903)
- Confessions of an Inquiring Spirit by Samuel Taylor Coleridge
- The Country of the Pointed Firs by Sarah Orne Jewett (1896)
- The Oedipus Trilogy by Sophocles
- The Red and the Black by Stendhal (1830)
- Maggie: A Girl of the Streets by Stephen Crane (1893)
- The Art of War by Sun Tzu (May 1, 1994)
- The Financier by Theodore Dreiser (1912)
- Common Sense by Thomas Paine (July 1, 1994)
- Aeneid by Unknown
- Age Of Innocence by Unknown
- Aladdin and the Magic Lamp by Unknown
- Anna Karenina by Unknown
- Anne Of Avonlea by Unknown
- Beowulf by Unknown
- Black Tulip by Unknown
- Bleak House by Unknown
- Brothers Karamazov by Unknown
- Connecticut Yankee by Unknown
- Country Of Blind Wells by Unknown
- David Copperfield by Unknown
- Doctor Moreau by Unknown
- Earth To Moon by Unknown
- Emma by Unknown
- Ethan Frome by Unknown
- Faust by Unknown
- Food Of The Gods by Unknown
- Golden Bowl by Unknown
- Hard Times by Unknown
- Herodotus Histories by Unknown
- Hound Of The Baskervilles by Unknown
- Innocents Abroad by Unknown
- John Barleycorn by Unknown
- Julius Caesar by Unknown
- Kidnapped by Unknown
- Kim by Unknown
- King Lear by Unknown
- Land Time Forgot by Unknown
- Last Of The Mohicans by Unknown
- Legend Sleepy Hollow by Unknown
- Les Miserables by Unknown
- Little Dorrit by Unknown
- Little Lord Fauntleroy by Unknown
- Little Princess by Unknown
- Major Barbara by Unknown
- Man Iron Mask by Unknown
- Mansfield Park by Unknown
- Martin Eden by Unknown
- Merchant Of Venice by Unknown
- Middlemarch by Unknown
- Midsummer Nights Dream by Unknown
- Mrs Warrens Profession by Unknown
- Mysterious Affair Styles by Unknown
- Mysterious Island by Unknown
- Northanger Abbey by Unknown
- O Pioneers by Unknown
- Oliver Goldsmith Vicar by Unknown
- Oresteia by Unknown
- Othello by Unknown
- Our Mutual Friend by Unknown
- Paradise Lost by Unknown
- Persuasion by Unknown
- Phantom Of Opera by Unknown
- Pickwick Papers by Unknown
- Plutarchs Lives by Unknown
- Pollyanna by Unknown
- Portrait Artist by Unknown
- Princess Of Mars by Unknown
- Red Badge Of Courage by Unknown
- Return Of Sherlock Holmes by Unknown
- Roughing It by Unknown
- Sherlock His Last Bow by Unknown
- Short Stories Poe by Unknown
- Sign Of Four by Unknown
- Silas Marner by Unknown
- Sister Carrie by Unknown
- Star Rover by Unknown
- Study In Scarlet by Unknown
- Tales From Shakespeare by Unknown
- Tarzan Of The Apes by Unknown
- Tess Dubervilles by Unknown
- The Arabian Nights Entertainments - Volume 04 by Unknown (May 1, 2004)
- The Call Of Cthulhu by Unknown
- The Good Soldier by Unknown
- The Iliad by Unknown
- The Iron Heel by Unknown
- The Jungle by Unknown
- The Lost World by Unknown
- The Moonstone by Unknown
- The Prophet by Unknown
- The Republic by Unknown
- The Scarlet Letter by Unknown
- The Tempest by Unknown
- Through The Looking Glass by Unknown
- Turn Of Screw by Unknown
- Twelfth Night by Unknown
- Twenty Years After by Unknown
- Typhoon by Unknown
- Ulysses by Unknown
- Up From Slavery by Unknown
- Valley Of Fear by Unknown
- Vanity Fair by Unknown
- Vicomte Bragelonne by Unknown
- White Fang by Unknown
- Wings Of Dove by Unknown
- Notre-Dame De Paris by Victor Hugo (April 1, 2001)
- Candide by Voltaire (November 27, 2006)
- The Souls of Black Folk by W. E. B. Du Bois (January 1, 1996)
- Of Human Bondage by W. Somerset Maugham
- The Moon and Sixpence by W. Somerset Maugham
- Ivanhoe by Walter Scott
- The Woman in White by Wilkie Collins
- My Antonia by Willa Cather
- The Song of the Lark by Willa Cather
- Hamlet by William Shakespeare (November 1, 1998)
- Macbeth by William Shakespeare (July 1, 2000)
- Romeo and Juliet by William Shakespeare (November 1, 1997)
- Mr. Crewe's Career - Volume 3 by Winston Churchill (October 16, 2004)
Word lists
- All word lists -- browse every list and its size.
- English 1k -- most common 1,000 words.
- English 5k -- broader vocabulary.
- English 10k -- long-tail vocabulary.
- Code: JavaScript
- Code: Python
- Code: HTML
- Punctuation
- Numbers
- Scrabble
Insights
- Stats dashboard -- heatmap, trend, daily activity, lifetime totals.
- Achievements -- every unlockable badge.
- Keyboard heatmap -- speed and accuracy by key.
- WPM trend -- last 30 sessions, plotted.
- Daily activity -- contribution-style grid.
- Custom texts -- manage your saved practice texts.
- Settings -- profiles, theme, layout, JSON export.
- User guide -- complete walkthrough of every feature.
Contribute
Suggest content
- Contribute hub -- all eight forms in one place.
- Suggest a quote
- Suggest a book
- Suggest a parable
- Suggest an idiom
- Suggest a poem
- Suggest a drill
Share feedback
- Leave a testimonial
- Send a thanks note
- All reviews -- published testimonials.
- Thanks wall -- published thanks notes.
Blog
All posts -- index, newest first. Atom RSS feed.
Posts
- No em-dashes -- May 8, 2026
- The contribute hub -- May 8, 2026
- Completion tracking -- May 8, 2026
- Type without an internet connection -- April 20, 2026
- Picking a word list -- April 19, 2026
- Back up your profile -- April 18, 2026
- Keyboard shortcuts on the practice surface -- April 17, 2026
- The kinds of typing errors -- April 16, 2026
- Warming up -- April 15, 2026
- Pick a theme that does not hurt your eyes -- April 14, 2026
- The challenges system -- April 13, 2026
- Typing code -- April 12, 2026
- Fixing the pinky -- April 11, 2026
- Typing the classics -- April 10, 2026
- Practice with your own text -- April 9, 2026
- Why touch type -- April 8, 2026
- Plateaus -- April 7, 2026
- Posture and the keyboard -- April 6, 2026
- Daily practice -- April 5, 2026
- The five practice modes -- April 4, 2026
- Reading the stats page -- April 3, 2026
- Accuracy before speed -- April 2, 2026
- Where to start -- April 1, 2026
Tags
Project
- About -- what this is and why it exists.
- Features -- every feature that ships.
- Tech stack -- how the site is built.
- Style guide -- typography, color tokens, components.
- Changelog -- every shipped change, newest first.
- FAQ -- common questions, answered.
- Contact -- bug reports, feature requests, hello.
- Cost -- what it costs to run.
- Analytics -- what gets tracked (almost nothing).
- GitHub repo -- source code, MIT licensed.
Utility
- Search -- search every page on the site.
- Thank you -- post-form confirmation page.
- Offline page -- shown when the network is down.
- Sitemap (this page)
For machines
- /sitemap.xml -- XML sitemap for search-engine crawlers.
- /feed.xml -- Atom RSS feed for the blog.
- /robots.txt -- crawler instructions.
- /site.webmanifest -- PWA manifest.
- /sw.js -- service worker.
Data files (JSON, public)
- /data/quotes.json -- quotes catalog.
- /data/library.json -- library book index.
- /data/lessons.json -- lessons curriculum.
- /data/drills.json -- drill definitions.
- /data/challenges.json -- challenge definitions.
- /data/idioms.json -- idioms catalog.
- /data/parables.json -- parables catalog.
- /data/poetry.json -- poetry catalog.
- /data/words/en-1k.json
- /data/words/en-5k.json
- /data/words/en-10k.json
- /data/words/code-js.json
- /data/words/code-py.json
- /data/words/code-html.json
- /data/words/punctuation.json
- /data/words/numbers.json
- /data/words/scrabble.json