I originally started this project as a birthday gift for my grandfather (future me!).