> but none of them met all our requirements, so we decided to try writing our own library.
Question requirements.
You can always find a reason to build rather than buy, but can you reframe your requirements in such a way that you can get away with something off the shelf and then rather spend your resources on the things that you can do uniquely different for your application.