We all know someone who types inefficiently. We cringe in horror at the time it takes to perform an operation we've been doing via shortcut for years. If only there was an easy (and fun!) way to teach them the your skills.

What it does

This webapp places the user in a text editor (basically, a stripped-down version of Emacs, in your browser) and takes them through a series of progressively difficult challenges that demonstrate the utility of keyboard shortcuts, explaining each shortcut as it's needed.

Accomplishments that we're proud of

  • Design: We polished the app to have the graphic appearance of a real game. Hours of tweaking and experimenting with relatively new CSS flex-grid layouts create a stunning visual impression. (Also, it's ninja themed).

Challenges we ran into

  • Evaluating and learning Javascript unit-test frameworks: Text editors have large quantities of corner cases that need to be tested and accounted for. While it is normally possible to forgo unit testing in a hackathon project, ours required it to ensure that our edge cases remained functional.

What we learned

  • Using Karma/Jasmine for JavaScript unit testing
  • CSS flex-grid layouts

What's next for Ctrl-Alt.Ninja

  • Measure Speedups: Compare typing speeds before and after receiving ninja training.
  • Data Collection: See how your typing speeds compare to other ninjas.
Share this project: