Half the Server Features You Want Are Custom Engineering Projects
A feature wishlist approved as configuration work is how community builds stall, and the sorting exercise that prevents it takes about an hour.

There is a specific way community projects go over budget, and it almost never involves anyone making an obviously bad decision. It starts with a wishlist that looks entirely reasonable and contains one or two items that were never what they appeared to be.
Requests hide their own scope
When somebody encounters a well built community, they see the finished surface. A branded members area. A visible progress indicator. A portal that makes chat feel like part of a product rather than a separate destination.
What is invisible is everything underneath. Whether that surface came from a platform capability, a purchased tool, or six weeks of engineering with a server bill attached. From the outside those three origins are indistinguishable, which is why requests are described in a sentence regardless of which one they belong to.
A one sentence request can carry a one quarter project, and nothing about the sentence indicates which it is.
Sorting before scheduling
Before any timeline exists, every item on the list should be assigned to a bucket. The exercise is short and the discipline is in doing it first.
- Native configuration. The platform already supports this and the work is a decision plus an afternoon. This bucket is consistently larger than teams expect, because most platforms are underused rather than insufficient.
- Off the shelf tooling. A product exists that covers it. The cost is setup effort plus a recurring fee, and the risk is vendor dependency rather than engineering time.
- Custom engineering. Somebody builds and hosts it. Nothing enters this bucket without a budget line, a timeline and a named person who owns it after launch.
Counting the real cost
CUSTOM BUILD, TOTAL OBLIGATION
ONE TIME
design and build
testing and launch
EVERY MONTH, FOREVER
hosting
dependency updates
breakage caused by platform changes
a named person who is responsible
HIDDEN
what happens when that person leaves
what it costs to remove once members rely on itThe one time section is what gets quoted. The recurring section is what determines whether the decision was correct two years later. Presenting both together changes how quickly a wishlist gets shorter.
Reversibility as the deciding factor
| Decision type | Time to implement | Time to undo | Who should approve |
|---|---|---|---|
| Configuration change | Hours | Hours | Community lead |
| Adopting a tool | Days | Weeks | Community lead with budget sign off |
| Custom build | Weeks to months | Rarely undone | Leadership, explicitly |
The last row is the one that justifies treating this as a leadership matter rather than an implementation detail. Reversible decisions can be made quickly and cheaply, and should be. Decisions that create permanent obligation deserve a different level of scrutiny, and lumping them into a single wishlist approval removes that distinction entirely.
Sequence, not prohibition
Custom work is sometimes exactly right. The point is that it should be chosen after the cheap buckets have run for a while, not alongside them.
Ship configuration and tooling first. Let the community operate for a quarter. Then revisit the custom list with actual usage evidence instead of impressions collected from someone else's server. In most cases the list shrinks again, and whatever survives arrives with a clear rationale and an obvious owner, which is a far stronger position than discovering scope halfway through a build.
Two questions
For every request that arrives, ask which bucket it belongs in before asking how long it will take. Then ask what it costs to keep rather than what it costs to build.
Teams that ask those two questions consistently ship more of their wishlist, because the half that survives the sorting is the half that was always achievable.
Scope kills more community projects than ambition does. Sort first, sequence second, and treat permanence as a budget item.
More at danieljeong.org.
Want a properly managed community?
Get Your Free Analysis →