As a TA of a programming module, I want my students to understand how to finish their coding assignments as quickly as possible. They should spend more time thinking of the algorithm than wasting time typing lines of unnecessary code. Hence, I built a timer that calculates your typing speed.

What it does

Just start typing! Once you start typing, a timer will start. The timer will stop when a terminating key is pressed. The terminating key depends on the mode Typee is in.

~Whee~ mode: This is the default mode for Typee. Type as much as you want (without using a tilde, of course)! The timer will stop once you type a tilde '~'.

asdfghjkl;' mode: Use this mode to type only a single line, or challenge your friends to see who can type "asdfghjkl;'" on their keyboard the fastest! The timer will stop once you press the Enter key.

No E Story mode: This one is more of a game than a typing speed timer. E is the most common letter in the English alphabet. In this mode, try to write the longest story you can without using the letter "e". See if you can write the next Gadsby!

After the timer stops, you will see a popup displaying your stats. Currently, Typee is not a competitive e-sport, so these stats are just for fun.

You can click the "x" to close the popup, or just start typing again!

How I built it

A little bit of HTML, a little too much CSS, some JavaScript, and a lot of Googling.

Challenges I ran into

My initial plan was to have a dynamic background that would move or change colour as you typed. However, I noticed that it was causing some input lag, hence I had to remove that feature.

Accomplishments that I'm proud of

Although the concept and features are simple, I'm please with the overall aesthetic. It looks simple and uncluttered. There are some small animations which make the site feel more dynamic. The background is also subtly different on each reload.

What I learned

What's next for 062B - Typee

I plan to improve code readability in Typee, by allowing indentation using the tab key.

Built With

Share this project: