What I really didn't expect was to end up with a "controller" module. I'm not all that thrilled with it, but now that it's done I'm not sure how I'd go about refactoring to remove it. If the thing I'm calling a "controller" can be properly called that, it's possible I stumbled into something akin to an "MVC" design pattern without really intending to - I know what parts could be considered the "view" part of the app, but I think I ended up with the "model" part commingled within the rest of the code.
I'm not inclined to separate it out, either. The app interacts with the DB where it needs to, and even extending it with a comment facility and tagging support, I don't see enough benefit in extrapolating a distinct "model" to bother with the code and communication overhead.