Analysis updated 2026-05-18
Practice typing and measure your words-per-minute to improve speed and accuracy over time.
Self-host your own typing test website with full customization of modes, themes, and test parameters.
Study a polished, real-time interactive web application with live feedback and account management.
Challenge yourself with different test modes like quotes, punctuation variants, and language-specific tests.
| monkeytypegame/monkeytype | microsoft/fluentui | web3/web3.js | |
|---|---|---|---|
| Stars | 19,985 | 19,978 | 19,936 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | hard | easy | easy |
| Complexity | 3/5 | 2/5 | 3/5 |
| Audience | vibe coder | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Multiple services required: MongoDB, Redis, Firebase config, and Express backend, Turborepo monorepo coordination adds complexity.
Monkeytype is a highly customizable typing speed test website. The premise is simple: text appears on screen and you type it as quickly and accurately as possible, then the site tells you your words per minute and accuracy. What distinguishes Monkeytype from simpler typing tests is the depth of customization and the quality of the feedback experience. While typing, it shows live error highlights, current speed, and accuracy in real time without interrupting your flow. The test offers a wide range of modes: different time limits, word counts, punctuation and number variants, quotes, and support for many languages. There is an account system that stores your typing history over time so you can track improvement. Cosmetically, users can select from many themes, adjust the cursor style, enable sound effects, and switch into a distraction-free focus mode. The site also includes challenges and novelty test modifiers for variety. The underlying tech stack is modern: TypeScript throughout, a SolidJS front end, an Express back end, MongoDB for data storage, Redis for caching, and Firebase for authentication. The whole project uses a monorepo structure managed with Turborepo. You would use Monkeytype if you want to practice typing and track your progress over time, or if you are a developer who wants to self-host a customizable typing test. It is also a good reference codebase for developers studying how to build a polished, interactive web application with a real-time feedback loop.
A customizable typing speed test website with real-time feedback, multiple test modes, account tracking, and themes. Practice typing and watch your words-per-minute improve over time.
Mainly TypeScript. The stack also includes TypeScript, SolidJS, Express.
Use it freely, but any project you distribute that includes this code must also be GPL-licensed and open source.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly vibe coder.
This repo across BitVibe Labs
Verify against the repo before relying on details.