Every build has a moment where the easier path appears.
It's always reasonable. It would ship faster. It would cost less. The client would never know the difference. In the demo, it looks identical.
And it would make the platform less permanent.
Here's one I've been thinking about from a recent build.
"The easier path would have worked for years one and two. Maybe longer."
The Decision.
We were building the member data architecture for a faith organisation with about 3,000 active members. The question came up about how to handle member profile relationships — specifically, how to model the connections between members, their small groups, their giving history, and their engagement records.
The faster path: use the SaaS patterns we knew well. Flatten the data structure. Optimise for query speed now. Defer the relational complexity for later.
The permanent path: model the full relational architecture up front. More tables. More migration complexity at the start. Harder to explain to the client in the first review.
Why We Didn't Take the Easy Path.
The faster path would have worked for years one and two. Maybe longer.
But this organisation is building infrastructure they'll own for ten years. By year three or four, when their community has grown and the relationships between members have become one of the most valuable data assets in their database — the flattened data model would have become a ceiling.
Not a visible ceiling. A quiet one. The kind that shows up as "that feature is technically difficult" or "that would require a significant refactor." The kind that makes a developer expensive and a simple request complicated.
The permanent path costs more at the start. It costs less over time. And it gives the organisation something that grows with them instead of constraining them.
What This Teaches About Building for Permanence.
Building for permanence isn't about gold-plating everything. It's about identifying the decisions that are easy to change later and the decisions that aren't — and being rigorous about the ones that aren't.
Data architecture is one of those. Getting it right at the start is cheaper than refactoring it at year three. Interface decisions are usually not. You can change a UI component without touching the underlying data. You can't unwind a poorly modelled relational database without expensive work.
This is where experience matters most. Knowing which decisions compound over time and which ones are safely deferred. Building the things that need to be right from the start. Staying light on the things that can change easily.
What I'm Thinking About for the Next Build.
The next build I'm heading into has a similar question — this time around permissions architecture. How granular should the role system be at launch? How do you design for the organisation's current structure while leaving room for the complexity they'll develop over the next five years?
I'll write that one up when we're through it.
"Building community infrastructure is mostly a series of decisions no one outside the build will ever see — until they matter."
Building community infrastructure is mostly a series of these decisions. Not dramatic ones. Decisions about data modelling and permission structures and API contracts that no one outside the build will ever see or care about — until they matter.
The organisations I build for deserve people making those decisions carefully. That's what these notes are for.
Rohit Jesudian is the founder of Socio Connect, a custom community platform development agency based in Carmel, Indiana.
Written by Rohit Jesudian, Founder of Socio Connect