Dummy backend

Moves data generation to the backend and starts to hook up the frontend as it might work for realz. Notably I have not considered error handling yet, nor have I spent much time trying to remove attribute duplication between models or contriving some way to inherit within models, etc. So lots of opportunities to continue to hammer this code into shape, but I think this helps make the app more user-testable.