Submission for Senior Software Engineer

I've been unusually busy lately with work and only had a couple hours here and there to work on this. I punted on the UI, but hope the functionality and architecture make up for it.