Skip to content

Repository files navigation

RapidKeys Preview

RapidKeys ⌨️⚡

Next.js React TypeScript Tailwind CSS License

RapidKeys is a modern typing practice platform designed to help users improve typing speed, accuracy, and consistency through multiple practice modes, detailed analytics, and an immersive typing experience.

Whether you're preparing for typing tests, improving productivity, or simply enjoying distraction-free typing, RapidKeys provides everything you need in a clean, responsive interface.


🌐 Live Demo


✨ Features

Category Features
Typing Modes Timed tests (15–120 seconds), word-count challenges, inspirational quotes, and distraction-free Zen mode
Performance Analytics WPM, Raw WPM, Accuracy, Character Statistics, Consistency Score, Time Taken, Interactive WPM Timeline
Virtual Keyboard Desktop virtual keyboard with real-time key highlighting
Audio Feedback Optional keypress sounds powered by the Web Audio API
Haptic Feedback Device vibration support on compatible hardware
Customization Light, Dark & System themes, Accent colors, Google Fonts, Keyboard toggle, Sound toggle, Real-time WPM
Persistent Settings Preferences automatically saved using Local Storage

🛠️ Tech Stack

  • Framework: Next.js (App Router)
  • Library: React 19
  • Language: TypeScript
  • Styling: Tailwind CSS & Radix UI primitives
  • Animations: Motion
  • Charts: Recharts
  • Utilities: random-words, inspirational-quotes

📋 Prerequisites

  • Node.js: 20+
  • pnpm: 9+ (Recommended)

Note: npm or Yarn can also be used by replacing the pnpm commands with their equivalents.


🚀 Installation

  1. Clone the repository

    git clone https://github.com/deymohit02/RapidKeys.git
    cd RapidKeys
  2. Install dependencies

    pnpm install

    The installation automatically generates: data/quotes.json

    This file powers the Quote Mode and should not be removed.


💻 Running Locally

  1. Start the development server:

    pnpm dev
  2. Visit in browser:

    http://localhost:3000
    

📦 Production Build

  1. Build the application:

    pnpm build
  2. Start the production server:

    pnpm start
  3. To run on another port:

    pnpm start -- -p 4000

📜 Available Scripts

Command Description
pnpm dev Start development server
pnpm build Create production build
pnpm start Start production server
pnpm lint Run ESLint
pnpm typecheck TypeScript type checking
pnpm format Format source code with Prettier

🔊 Audio Support

RapidKeys uses the Web Audio API for keypress sounds.

Some browsers require a user interaction before audio playback becomes available. If key sounds don't play immediately:

  1. Click anywhere on the page
  2. Start typing
  3. Try enabling sound again in Settings

💡 Why RapidKeys?

  • Fast and responsive experience
  • 📈 Comprehensive typing analytics
  • 🎨 Highly customizable interface
  • ⌨️ Interactive virtual keyboard
  • 📱 Responsive across devices
  • 🌙 Beautiful light and dark themes
  • 🎯 Ideal for beginners and competitive typists

🤝 Contributing

Contributions, feature requests, and bug reports are welcome!

If you'd like to improve RapidKeys, feel free to open an issue or submit a pull request on GitHub Repository.


📄 License

This project is open-source and available under the MIT License.

About

Open-source typing test web app featuring real-time statistics, virtual keyboard, sound effects, and beautiful customization options.

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages