There's lots of stuff yet to do! This is just scratching the surface: ev: - rework the internals; two queues is maybe too much - timeouts support - write more 'backends' for kqueue and epoll fcgi: - I'm a sucker for running stuff behind httpd. http: - find a way to associate custom data to a request for asynchronous re-entering (and eventually free the custom data too!) - notify unexpected disconnection when re-entering? (i.e. notify the route function when they set res.done = false) - http keepalive? - actually parsing headers. do we want to expose all of them? - parse body contents. http::session: - a custom module for session handling would be nice. Or just use Authorization header and be done with it? http::websocket: - another would be nice to have :) gemini: - Yes, I'm serious! A gemini module to serve stuff via gemini (w/ libtls bindings?) would be cool and probably fit shinsha well. sqlite: - write the bindings. Maybe drawing some inspiration from https://github.com/crawshaw/sqlite (and the sqlitex subpackage) which is my favourite sqlite binding for Go. template: - write (how?) some kind of template processor with the asynchronous http module in mind?