In general, all of my apps are free and open-source, with the code available on GitHub.

Note that my Android apps are no longer maintained. They were designed for older versions of Android and may or may not work on newer versions. Since Android itself does not typically maintain compatibility with older apps, they may or may not appear in the Play Store, but you can download the APKs below.

Want to leave feedback? Your suggestions and bug reports are always welcome. Simply choose the app, then click “Leave feedback.”


Web Apps

Android Apps

relatedness calculator icon Relatedness
catlog CatLog
relatedness calculator icon Imperial
chord reader Chord Reader
relatedness calculator icon Japanese
Name Converter
keepscore KeepScore
ultimate crossword icon Ultimate
pokédroid icon Pokédroid
pinafore icon Pinafore default Android icon Others
globe icon Others



Web apps

Relatedness Calculator

Direct link Source code Leave feedback

Ever wondered how you’re related to your second cousin? How about your great half-uncle? And what in the world is a “double cousin,” anyway? The Relatedness Calculator can answer all these questions and more, drawing a nice little graph and calculating the relatedness coefficient for many different kinds of relations.

Imperial Calculator

Direct link Source code Leave feedback

End-of-game score calculator for the board game Imperial. It was basically just a “Hello World” app to teach myself AngularJS, Bootstrap, and PhoneGap, but you might find it useful if you like the ingenious board game by Mac Gerdts.

Japanese Name Converter

Direct link Source code Leave feedback

Transliterates English names into Japanese characters – both katakana and roomaji. Uses the machine learning method described in this post.

Ultimate Crossword

Direct link Source code Leave feedback

Inspired by an XKCD comic, it’s a crossword-solving app based on a leaked database of password hints. It makes an important statement about password security (I hope), and plus, it’s fun to try to “solve”!

Update: I have retired the Ultimate Crossword. It was an interesting experiment, but it’s time to let it go. The code is still available.


Direct link Source code Leave feedback
Screenshot of Pinafore home page

Pinafore is a web client for Mastodon, focused on speed and simplicity. It’s the project I’m mostly working on these days.





Android apps


Google Play Direct APK download Source code Leave feedback

I was disappointed with the other Logcat applications on the Market, so I wrote this one. It’s basically everything you’d ever want in a Logcat app. Record logs in the background? Check. Save, open, and send logs? Check. Home screen widget? Check. If you needed a kitchen sink to read logs, I would have added that, too.

Developers: You can invoke CatLog from an external Intent. Learn how.

Chord Reader

Google Play Direct APK download Source code Leave feedback

A straightforward app that allows you to download chord charts from the Interwebs and transpose them. I wrote it because I was tired of having to manually transpose all my chord charts in order to accommodate my pathetically tiny vocal range. It also shows guitar fingerings for each chord.


Google Play Direct APK download Source code Leave feedback

KeepScore is a score-keeping app that can be useful for any game requiring you to tally points as you play, such as hearts, Carcassonne, Scrabble, etc. I wrote it because I like to play cribbage, but I found all the other score-keeping apps on the Android Market to be too clumsy and awkward.

For older Android devices (< 2.1 Eclair), please download the legacy 1.1.4 version of the APK.


The perfect app for either the Pokémaniac who’s gotta catch ’em all or the Gen-Y hipster trying to be ironic. It started out as something of a joke app, since the main feature was that it used the Android TTS engine to speak aloud each Pokémon’s description, similar to the Pokédex in the TV show. Now it’s more of a full-on strategy guide, with lots of detailed info for Pokémon gamers. Supports generations three through five.

Update: In June of 2011, Pokédroid was removed from the Google Play Store due to a DMCA takedown notice from The Pokémon Company (TPC). The app will stay down.


App Tracker shows your most recently used apps on your home screen, as well as keeping lots of other statistics on your app usage. Source code. Direct APK download.

Imperial Score Calculator is an Android port of the same webapp above. Source code. Direct APK download.

Japanese Name Converter transliterates English names into Japanese. This post explains how it works. Source code. Direct APK download.

Offline Browser displays HTML files from your SD card as if you were in a browser. Source code. Direct APK download.