Personal Projects

This is a representative sample of the kinds of things I like to do. All of the projects listed below can be found on my personal gitlab.

Autohighlighter

The autohighlighter cuts a stream into ten second clips of people scoring touches. This is mature. I'm always playing around with it and making it better, but I don't anticipate any significant algorithm changes. This is a complex command-line program. Each run processes about a 12 hour video, compensating for errors in data entry, OCR, unexpected interruptions, and other weirdness. You can read about the development of this on the blog.

Tech Involved:

  • FFMpeg
  • Tesseract OCR
  • ImageMagick

The Fencing Database website

Central repository of 110,000 clips and growing, with stats, fencer info, fantasy fencing, and more. I did all the work on this, frontend, backend, SQL, architecture. Gets over 150K views a month.

Tech Involved:

  • Sinatra
  • Postgres
  • Javascript (non-framework)

The Fencing Database youtube channel

"Every Touch" compilations (every touch scored in a tournament, round of 64 on) and highlight reels are published here. I also stream fencing commentary and advice, approximately weekly.

Title Reader

A website for messy readers, I call it a visual cataloguer. You take a picture of your bookshelves, it does OCR on the image and some magic on the backend, and if you search for a book it'll tell you where it is. It's easier than constantly sorting your books, plus it handles multi-level shelves. Currently incubating a new variation.

Tech Involved:

  • Sinatra
  • Sidekiq
  • Redis
  • Google OCR
  • Stripe Integration
  • Mailchimp Integration

Real-Time Mafia

Implemented a website for people to play an in-real-time version of the card game Mafia (yes, that one.) It includes a game engine, automated player status updating, and a summary of the previous night/day's activities. The code can be found on my Gitlab.