Karate Journal

Karate Journal is a web application that lets you keep track of your notes on basic techniques, forms, sparring, practices with seniors, etc. Since it is a web application, you can set it up to be accessed from anywhere you choose, by anyone you wish.


  • Create, update, delete, or display entries.
  • Search your journal for a keyword, and get back a list (ordered by relevance determined by a super-secret, highly advanced search algorithm) of entries that contain that word, and snippets of the entry with the keyword highlighted.
  • Tag lines or paragraphs of one entry so they appear in the view of another entry. Useful for aggregating data for a particular topic, which is scattered across multiple entries, into one view.
  • Index page that neatly breaks down the entries by category.
  • Supports a simple wiki-style markup language that lets you format your entries without writing verbose HTML.
  • Database backed, and supports any database that the Rails web framework supports.

Screen shots


Please email me if you would like to see a demo.




The need for the Karate Journal is rooted in the need of every martial arts student to take good notes. Taking good notes and reviewing them periodically helps you make progress, as it keeps you from “re-learning” the same things over and over again.

I was always encouraged, by my instructors and other seniors, to keep good notes. I tried several times to keep notes the old fashioned way, written down in a notebook. However, this left me with nothing more than an unorganized heap of notes that I could never find anything in. I wanted something more organized, that I could access from anywhere (I often plan my karate class while on lunch at work, and having these notes available would help immensely).

So the solution, of course, was a new web app. Karate Journal was my second Rails app. I decided to go with Rails again because I really liked working with it on the Addressbook, and I still had some learning to do. Plus, since the Karate Journal was simply a CRUD application with some search functionality tied in, Rails seemed like the perfect fit.


I really liked how the Karate Journal turned out. I started out using my own wiki markup language (see Basic Markup), but later migrated to the SimpleMarkup class in the Ruby core library. The search functionality works well. And, in general, it keeps my notes very organized.

I need to make the categories on the index page hidden by default, and change the category names so that when clicked, the entries in that category blind down. Without this, the main page is a little loud.