Project: Tevreden API
For my then employer Tevreden BV, a research company in customer satisfaction, I designed a JSON API with wcustomers and third parties could integrate the Tevreden services, data and reports into their own sites or software.
The in house developed research platform (named "Evaluation") had been developed using Perl5, starting somewhere around the year 2000. It contained quite some old code that didn't scale very well and was hard to maintain. My colleages and I have worked hard to refactor the core parts towards more modern and modular code.
Essential part of that was the use of better frameworks, in particular Perl Dancer. The new JSON API was the first project written using this framework. Dancer2 is a MVC "micro framework" which was inspired by Python Flask. We liked it so much that we used it for all new projects.
Essential for a good API is documentation. It should be the starting point, before you write any code. For APIs there are many specifications which can be converted to html documentation. Back then I used API Blueprint. Nowadays I would really prefer the OpenAPI specification, which is more widely supported with better tools, but API blueprint also did the job quite well.
For customers and partners
The first use case for the API was quite simple. A partner needed a feed with filterable reviews to show on their website. Other more advanced features followed, like automated sending of questionnaire invitations. Some larger customers came up with custom requests that we implemented as generic as possible. Later we also started using the API in our own new applications.
For Tevreden itself
It was very hard to find Perl developers. In the end we decided to outsource the development of new functionality, using other languages than Perl. To prevent re-inventing the entire wheel, we could use our API. So we added more endpoints to unlock our existing internal api, for example our powerful reporting and benchmarking engine.
I quit my job at Tevreden in 2017, as the last in house developer. The company went on for a while and finally was taken over by The Feedback Company. The Tevreden API however is still up and running, and apparently still being used. I can't help feeling a little bit proud about that.
Do you have a project or job where you could use my help?
Contact me, and we can discuss your requirements and wishes!