We decided to build an API for iDoneThis because many customers had requested it. It would use OAuth2 for authentication and would support everything one could do through the iDoneThis web interface. You would be able to like entries and comment on them, aggregate exactly who commented how much on which days, and more.
We were ambitious!
But we noticed that a weird thing had happened—after having listened to customers to give that initial impetus to build the API, we stopped consulting them completely! We didn’t know exactly what they wanted from the API—only that they vaguely wanted it—so our plans included building everything to fill this abstract customer need.
We decided to pause and that before we started building it, we would do some research to validate or invalidate our assumptions. What we learned surprised us and helped us save an incredible amount of development time by focusing API development on exactly what the customer wanted.