How to Design User-Driven APIs
medium.com