GitPedia

Typing test

Typing test website build with React

From slmnsh·Updated September 6, 2025·View on GitHub·

NOTE: This is my recreation of already existing [monkeytype](https://monkeytype.com) The project is written primarily in TypeScript, distributed under the MIT License license, first published in 2021. Key topics include: react, reactjs, redux, theme, typescript.

typing-test

Deployment CI

typing-test(test)

NOTE: This is my recreation of already existing monkeytype

This site is currently live: Visit Here

How to run locally

zsh
git clone https://github.com/salmannotkhan/typing-test.git cd typing-test npm install npm start # to start local server at `localhost:3000` npm run build # to create production build run

Got new ideas?

Did you know? You can add your theme and wordlist ideas into typing-test.

Here is how you can do it:

To add new theme:

  • Add theme colors into src/stylesheets/themes.scss in following format:
scss
.theme-name { --bg-color: background-color; --font-color: font-color; --hl-color: highlight-color; --fg-color: forground-color; }

Note:
highlight-color is used for caret, wrong characters, timer, selected and onhover colors
forground-color is used for correctly typed characters
Using hex codes for colors is recommended

To add new wordlist:

  • Rename your wordlist as <wordlist-name>.json and place it inside src/wordlists.

Important:
The JSON file should only contain single array of words/sentences.

Adding entry to options

  1. Add your theme/wordlist name into src/components/Header.tsx in options:
tsx
export const options: Options = { time: [15, 30, 45, 60, 120], theme: [ "default", "mkbhd", "mocha", "coral", "ocean", "azure", "forest", "rose-milk", <theme-name> ], type: ["words", "sentences", <wordlist-name>], };

Important:
The following should be always same:

  • wordlist-name in Header.tsx and your wordlist file name
  • theme-name in themes.scss and Header.tsx

should always match otherwise themes won't work

  1. Make a pull request

  2. If it's good enough to merge, I'll merge it

Contributors

Showing top 10 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from slmnsh/typing-test via the GitHub API.Last fetched: 6/19/2026