Safwat BilalSoftware engineerARContact

Turbo Type

A personal project I built end to end: a typing speed test with a Next.js frontend and a NestJS backend, written in TypeScript.

open one for the full story

Turbo Type logo05Live
turbo-type-jq2u.vercel.app
Typing test in progress, with live error highlighting
Screenshot · Typing test in progress, with live error highlighting

The product

Turbo Type measures how fast and how accurately you type. A 30-second timer starts on the first key press, and every letter is marked right or wrong as you type a stream of random words. When time is up you see your accuracy, errors, characters typed and words per minute. A contests page lets you compete with friends, and accounts use email sign-up or Google sign-in.

What's in it

  • Typing testRandom words, a 30-second timer that starts on the first key press, and a restart button.
  • Live feedbackEach character turns white when correct and red when wrong, with a caret that follows your position.
  • ResultsAccuracy, errors, characters typed and WPM, shown as soon as the timer ends.
  • ContestsA page for typing competitions with friends.
  • AccountsSign-up with name, email and password, and login with email or Google.
  • BackendMy own API, built with NestJS and TypeScript.

Screens

turbo-type-jq2u.vercel.app
Typing test in progress, with live error highlighting
Typing test in progress, with live error highlighting
turbo-type-jq2u.vercel.app
Results: accuracy, errors, characters typed and WPM
Results: accuracy, errors, characters typed and WPM
turbo-type-jq2u.vercel.app
Sign-up screen
Sign-up screen

Outcome

Live at turbo-type-jq2u.vercel.app.