Most software problems have existing solutions. Shopify for e-commerce. Notion for docs. Salesforce for CRM. These tools work great—until they don't.
When off-the-shelf works
If your needs are standard, use standard tools. A restaurant doesn't need custom reservation software. A consulting firm doesn't need a custom CRM. The tool exists, it's battle-tested, and someone else handles the bugs.
Use existing tools when:
- Your workflow matches what the tool was designed for
- Customization options cover your edge cases
- The cost of the tool is less than the cost of building
- You don't have technical resources to maintain custom software
When custom makes sense
Custom software makes sense when your business *is* the software, or when existing tools force you into workflows that don't fit.
Consider building when:
- You're spending more time working around the tool than using it
- Your competitive advantage depends on how the software works
- You're duct-taping multiple tools together
- Off-the-shelf pricing doesn't scale with your business
The real question
Don't ask "should we build this?" Ask "what happens if we don't?"
If the answer is "we keep using spreadsheets" or "we hire two more people to do manual work," the math might favor building. If the answer is "we switch to a different tool," probably not.
The middle ground
Sometimes you don't need to build everything—just the parts that matter. Use Stripe for payments, but build the dashboard that shows your team what's happening. Use a headless CMS for content, but build the frontend that displays it.
Custom doesn't mean starting from scratch. It means building the parts where being different matters.