Convert Figma logo to code with AI

monkeytypegame logomonkeytype

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.

15,130
2,298
15,130
43

Top Related Projects

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.

Gnirehtet provides reverse tethering for Android

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.

Quick Overview

Monkeytype is an open-source, minimalistic, and customizable typing test website. It offers a clean interface for users to practice and improve their typing speed and accuracy, with various themes, languages, and test modes available.

Pros

  • Highly customizable with numerous themes and settings
  • Supports multiple languages and keyboard layouts
  • Offers various test modes (timed, words, quote, custom)
  • Active community and frequent updates

Cons

  • May be overwhelming for new users due to the number of options
  • Some advanced features require account creation
  • Limited offline functionality
  • Can be resource-intensive in browsers with many themes and animations

Getting Started

To set up Monkeytype locally:

  1. Clone the repository:

    git clone https://github.com/monkeytypegame/monkeytype.git
    
  2. Install dependencies:

    cd monkeytype
    npm install
    
  3. Set up environment variables:

    • Copy .env.example to .env
    • Fill in the required variables
  4. Start the development server:

    npm run dev
    
  5. Open your browser and navigate to http://localhost:5000

For more detailed instructions and deployment options, refer to the project's README and documentation.

Competitor Comparisons

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.

Pros of monkeytype

  • Identical repositories, so no distinct advantages
  • Both offer the same features and functionality
  • Equal in terms of code quality and project structure

Cons of monkeytype

  • No unique disadvantages compared to the other repository
  • Both have the same limitations or potential issues
  • Identical in terms of any drawbacks or areas for improvement

Code Comparison

As these are the same repository, there is no code difference to compare. Both repositories would contain identical code structures, such as:

export function updateTestStats(testStats) {
  $("#testModesNotice").addClass("hidden");
  if (testStats == undefined) {
    $("#testModesNotice").removeClass("hidden");
    return;
  }
  // ... (rest of the function)
}

This code snippet would be present in both repositories, handling the update of test statistics in the Monkeytype application.

Gnirehtet provides reverse tethering for Android

Pros of gnirehtet

  • Focuses on reverse tethering for Android devices, providing a unique networking solution
  • Supports both Windows and Linux platforms for the server component
  • Offers a command-line interface for advanced users and scripting capabilities

Cons of gnirehtet

  • More complex setup process compared to monkeytype's straightforward web-based approach
  • Limited to Android devices, whereas monkeytype is accessible on any device with a web browser
  • Requires root access on Android devices for some features, potentially limiting user base

Code Comparison

gnirehtet (Rust):

pub fn relay(tcp_client: TcpStream, selector: &mut Selector) -> io::Result<()> {
    let stream = TcpStream::connect(LOCALHOST_IPV4)?;
    relay_socket(tcp_client, stream, selector)
}

monkeytype (JavaScript):

export function updateTestModesNotice() {
  if (testActive) return;
  let anim = false;
  if ($('#testModesNotice').hasClass('hidden')) anim = true;
  $('#testModesNotice').removeClass('hidden');
  if (anim) $('#testModesNotice').css('opacity', 0).animate({ opacity: 1 }, 125);
}

This comparison highlights the different focus areas and implementation languages of the two projects, with gnirehtet using Rust for networking tasks and monkeytype using JavaScript for web-based functionality.

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.

Pros of monkeytype

  • Identical repositories, so no distinct advantages
  • Both offer the same features and functionality
  • Equal in terms of code quality and project structure

Cons of monkeytype

  • No unique disadvantages compared to the other repository
  • Both have the same limitations or potential issues
  • Identical in terms of any drawbacks or areas for improvement

Code Comparison

As these are the same repository, there is no code difference to compare. Both repositories would contain identical code structures, such as:

export function updateTestStats(testStats) {
  $("#testModesNotice").addClass("hidden");
  if (testStats == undefined) {
    $("#testModesNotice").removeClass("hidden");
    return;
  }
  // ... (rest of the function)
}

This code snippet would be present in both repositories, handling the update of test statistics in the Monkeytype application.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README


ChartJs Eslint Express Firebase Fontawesome HTML5 JQuery MongoDB PNPM Redis SASS TsRest Turborepo TypeScript Vite Vitest Zod

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.

Security

To report a security vulnerability, please refer to SECURITY.md.

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.