A blog with user authentication, pagination, and tags, all from scratch