Software should be flexible, yet opinionated
cycle.appWhen Salesforce launched, they had two built-in tabs: "accounts" and "contacts". But very early in their journey, they decided to offer a way for folks to type in tab names that directly corresponded to their line of work. Car services could track "drivers" & "vehicles" and nonprofits could follow "causes" & "donors".
Even though they had opinionated default tabs, they provided every user with a customized experience. "Flexible yet opinionated" at its finest!
This is how we're building Cycle, a self-organizing hub for customer feedback. We're opinionated by default, but flexible under the hood.
I wrote down some thoughts on building future-proof data models.