A basic experiment of building a rest api in Haskell, which was since expanded to include basic HTML forms support as well. It uses SQLite.Simple for persistence and Text.Blaze for templating. There are some really basic DocTests that are kicked off from make. There's a makefile, that uses stack and cabal under the hood to build. It uses Options.Applicative for options parsing. It passes around an Application structure using a ReaderT monad. This contains the optoins from the command line, as well as other global control variables (like a MVar for database access control) Other interesting things to remember: To build during development: stack build --fast --file-watch --exec "killall rest-test" (in another terminal) while :; do stack exec rest-test; done Issues fixed: I use an MVar to control concurrent access to the SQLite database to ensure only one guy is accessing the db at a time i.e. http://nurpax.github.io/posts/2013-01-04-note-to-self.html