I live more than half my waking life in a shell, and one of my frustrations has always been having a nicely searchable and synced shell history across hundreds of servers. This is my attempt at solving this problem using a curses client for searching paired with a simple API and Web server backed by a nice search engine (Elasticsearch).
The project is split in two, and the client is actually pretty cool without the Web server. To get started, check out the documentation.