Finished this thing.  Janky as shit. Would really like to see a cleaner way to do the file storage than I used.