Simon,
Thanks for the kind words. If you have any time, I'd love to get some more contributors on this, no matter how small the contribution. I agree that Nim is awesome, I chose to write this in Nim because it has a lot of functionality that makes it easier and safer to write these kinds of things. For example, when the code unpacks raw socket data into a variant data object, it sets the variant's type and then stores the data in the object. If someone forgot to set the variant's type before storing the data, it would be a compile time error because the compiler can't prove that the variant is the correct type for the data being stored. C would happily let you do this even though it is unsafe.
As far as what my company is using this for, we take the data straight from the database and use it in our web application which uses the jester library, no intermediate REST or HTTP involved. Our web application can be configured to use either an SQL database or OrientDB. Right now we use the SQL database configuration, but as OrientDB gets more stable we hope to transition to the OrientDB configuration.
Sincerely,
Philip Wernersbach