Generate docs from in the app; not great but good enough for now; closes #38.