The most customizable typing website with a minimalistic design and a ton of features. Test yourself in various modes, track your progress and improve your speed.
Go to file
Christian Fehmer 59615fb02c
feat(account page): add test activity graph (fehmer, Singh233) (#5309)
* wip

* wip frontend

* cleanup

* wip

* refactoring

* wip

* first working version

* wip

* update calendar with new result

* add migration script

* dates are hard

* fix naming inconsistencies

* requested changes on migration

* timezones

* update date-fns, use date-fns/utc

* resolve cyclic dependency by extracting test activity calender into new file

* cleanup

* fix increment

* fix

* tests

* test coverage

* test migration

* migration more logging

* migration add unique index on uid if missing

* update legend styling

* 53 columns

* wip

* move dropdown and legend to the top
add dropdown border
yeet hotpink
invisible filler boxes
remove year from month format

* responsive update

* lowercase months

* handle current year, fix tests

* handle year change

* make days square again

* handle newly created users correctly

* move css

* add wrapper for easier styling
rework some font sizes/widths
reorder styles

* media queries

* align

* rework styling once more

* dont commit debug

* add days full to fill the space a bit

* show partial months

* hover on 0 tests

* start dynamic calendar on sunday

* no activity

* hover

* remove label on fillers

* remove label on fillers

* fix months, update tests for months

* adjust tests to new requirements

* cleanup

* fix migration

* impr(commandline): add "add/remove quote to favorites" commands

closes #5368

* chore: remove daily lb which is no longer in the backend

* fix: dropdown element flashing for couple frames on page load

* feat(language): add japanese romaji 1k (nthngnssmnnglss)

* fix: optional chaining

!nuf

* fix(words generator): infinite custom text tests not working correctly

* chore: missing languages in list and group files

* fix(language): remove duplicates

!nuf

* add readline sync to confirm

* gh action complaints

* unnecessary check

* premium only

* add years to drop down only if premium

* Update setup-tests.ts

* test fix

* cleanup

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2024-05-15 15:23:36 +02:00
.github impr: build docker images for linux/arm64 on release (#5369) 2024-05-13 11:53:46 +02:00
.husky chore: disable commitlint in commit-msg hook 2023-08-13 12:34:54 +02:00
.vscode test: replace jest with vitest on backend (fehmer) (#5314) 2024-04-17 13:39:10 +02:00
backend feat(account page): add test activity graph (fehmer, Singh233) (#5309) 2024-05-15 15:23:36 +02:00
bin fix(changelog generation): remove unnecessary console log 2024-04-08 15:01:19 +02:00
docker fix(self hosting): remove extra quotations on firebase/recaptcha config (#5383) 2024-05-13 12:26:46 +02:00
frontend feat(account page): add test activity graph (fehmer, Singh233) (#5309) 2024-05-15 15:23:36 +02:00
shared-types feat(account page): add test activity graph (fehmer, Singh233) (#5309) 2024-05-15 15:23:36 +02:00
.dockerignore impr: add selfhosting using docker only (fehmer) (#5170) 2024-03-12 12:02:13 +01:00
.editorconfig Add .editorconfig (#1976) 2021-10-10 16:09:32 +01:00
.eslintignore feat(account page): add test activity graph (fehmer, Singh233) (#5309) 2024-05-15 15:23:36 +02:00
.eslintrc.json chore: add no mixed operators rule 2024-02-17 17:24:41 +01:00
.gitignore impr: add selfhosting using docker only (fehmer) (#5170) 2024-03-12 12:02:13 +01:00
.npmrc Enforce save exact (#2918) 2022-05-01 21:34:29 +02:00
.nvmrc chore: update node version to 18.19.1 (#5060) 2024-02-15 21:23:29 +01:00
.prettierignore Add pretty check (#2990) bruception 2022-05-19 11:31:18 +02:00
.prettierrc TypeScript FrontEnd: Add Account Files (#2494) 2022-02-19 17:44:27 +01:00
.release-it-fe.json build: replace webpack with vite (#5096) 2024-02-22 02:24:20 +01:00
.release-it.json build: replace webpack with vite (#5096) 2024-02-22 02:24:20 +01:00
CODE_OF_CONDUCT.md docs: fix typos and grammatical errors (theranjitraut) (#4728) 2023-10-23 16:51:09 +01:00
commitlint.config.js build: update allowed commit type 2023-08-10 23:19:51 +02:00
CONTRIBUTING.md docs: fix typos and grammar (LifeAdventurer) (#4818) 2023-11-28 14:13:04 +00:00
CONTRIBUTING_ADVANCED.md impr(dev): allow docker compose to start the backend server (plbstl, Miodec) (#4995) 2024-02-28 14:17:09 +01:00
CONTRIBUTING_BASIC.md docs: fix typos and grammatical errors (theranjitraut) (#4728) 2023-10-23 16:51:09 +01:00
example.env build: add script to deploy backend server 2023-08-11 16:28:20 +02:00
LANGUAGES.md docs: fix typos and grammatical errors (theranjitraut) (#4728) 2023-10-23 16:51:09 +01:00
LICENSE Create LICENSE 2020-05-30 00:30:54 +01:00
monkeytype.code-workspace test: replace jest with vitest on backend (fehmer) (#5314) 2024-04-17 13:39:10 +02:00
package-lock.json chore: release v24.20.0 2024-05-13 15:13:59 +02:00
package.json chore: release v24.20.0 2024-05-13 15:13:59 +02:00
QUOTES.md Corrected typo (#3402) JacoChong 2022-08-12 15:01:55 +02:00
README.md docs: fix typos and grammatical errors (theranjitraut) (#4728) 2023-10-23 16:51:09 +01:00
SECURITY.md updated email addresses 2023-02-14 00:22:37 +01:00
SELF_HOSTING.md fix(self hosting): remove extra quotations on firebase/recaptcha config (#5383) 2024-05-13 12:26:46 +02:00
THEMES.md Adding new theme earthsong and fixing typo on THEMES.md (#3756) Guillermo-N 2022-11-21 13:24:48 +01:00


TypeScript SASS HTML5

About

Monkeytype is a minimalistic and customizable typing test. It features many test modes, an account system to save your typing speed history, and user-configurable features such as themes, sounds, a smooth caret, and more. Monkeytype attempts to emulate a natural typing experience during a typing test by unobtrusively presenting the text prompts and displaying typed characters in place, providing straightforward, real-time feedback on typos, speed, and accuracy.

Features

  • minimalistic design, with optional advertisements and focus mode while typing
  • type what you see, see what you type
  • live errors, wpm, and accuracy displays
  • a variety of test lengths and languages
  • punctuation and numbers modes
  • quotes
  • themes
  • smooth caret
  • account system
  • challenges and just-for-fun test modifiers
  • and much more

Discord bot

On the Monkeytype Discord server, we added a Discord bot to auto-assign optional roles based on typing performance and challenge completion. You can find its code over at https://github.com/monkeytypegame/monkeytype-bot.

Bug report or Feature request

If you encounter a bug or have a feature request, send us an email, create an issue, create a discussion thread, or join the Discord server.

Want to Contribute?

Refer to CONTRIBUTING.md.

Code of Conduct

Before contributing to this repository, please read the code of conduct.

Credits

Montydrei for the name suggestion.

Everyone who provided valuable feedback on the original Reddit post for the prototype of this website.

All of the contributors have helped implement various features, add themes, fix bugs, and more.

Support

If you wish to support further development and feel extra awesome, you can donate, become a Patron or buy a t-shirt.