What Your Website Actually Needs (And What It Doesn't)
Part 1 of our Website Rebuild series. Read the overview: Rebuilding Envigna.com in Two Days
Let me tell you about the most expensive word in web development: "should."
"We should have a CMS."
"We should use React."
"We should add a user portal."
"We should build for scale."
That word—"should"—has cost more project budget, developer sanity, and timeline slippage than any bug or technical issue.

When we started planning our website rebuild, we had a list of "shoulds" too. A full CMS. A modern JavaScript framework. A database-backed blog. Search functionality. Newsletter integration. The works.
Two days later, we shipped a website with none of those things.
And it's faster, cleaner, and easier to maintain than anything we "should" have built.
Here's how we figured out what we actually needed—and how you can too.

The Temptation to Over-Spec
There's a strange phenomenon in web development: the gap between what you need and what you think you need grows in direct proportion to how much you know about web development.
The statistics are sobering:
- 66% of software projects fail (Standish Group 2020 CHAOS report)
- 45% of features are never used across all software projects
- 52.7% exceed budgets by 189%
- Large-scale projects fail 3-5x more often than small ones
Why? Complexity kills projects. The more features you add, the more things can break, the longer it takes to build, the harder it is to maintain.
Our initial spec:
- Laravel or Statamic CMS
- Tailwind CSS framework
- Database for articles
- User authentication
- Search functionality
- Newsletter integration
- Custom admin panel
What we actually needed:
- Five static pages
- A blog that updates monthly
- A contact form
- Fast loading
- Easy updates
Time to build: 2 days instead of 6+ weeks
Annual cost: $60 instead of $7,000+
Maintenance: 2 hours/year instead of 24+
Start with Business Goals, Not Features
Here's the framework that saved us: business goals before features.
What are you trying to accomplish?
For us:
- Showcase our services clearly
- Share insights via blog articles
- Generate qualified leads
- Establish credibility with mid-market businesses
Notice what's NOT on that list:
- Impress other developers
- Use every modern framework
- Support thousands of concurrent users
Who is your audience?
For us:
- Mid-market business owners (40-60 years old)
- CTOs at growing companies
- Non-technical decision makers
What does that audience care about?
- Can you solve my problem?
- Do you understand my business?
- Can I trust you?
- How do I contact you?
What do they NOT care about?
- Your JavaScript framework choice
- Your database schema elegance
- Your microservices architecture
What actions should they take?
For us:
- Read about our services
- Understand our approach
- Contact us for a conversation
That's it. Three actions. None of them require a CMS, a database, or a JavaScript framework.
The Decision Framework
For each feature someone suggests (including yourself), ask:
1. What problem does this solve?
If you can't articulate a specific problem, you don't need the feature.
Bad answer: "It would be nice to have."
Good answer: "Clients frequently ask for pricing information, and we're losing leads because they can't find it."
2. How often will we use it?
Usage frequency guide:
- Daily: Build it
- Weekly: Probably build it
- Monthly: Maybe (if simple)
- Quarterly: Don't build it
- Annually: Definitely don't build it
- Someday: Absolutely don't build it
3. What's the simplest solution?
Always ask: "Can I solve this with less?"
Example: Newsletter signup
Complex: Mailchimp API integration, custom signup flow, double opt-in automation, database, admin panel.
Time: 2 days
Simple: "Email us to subscribe" link.
Time: 30 seconds
Does the complex version provide $2,000 worth of additional value?
Probably not.
4. What's the maintenance burden?
Every feature you build is a feature you maintain forever.
CMS maintenance example:
- Initial build: 2 weeks
- Monthly security patches
- Breaking changes: 2-3 times/year
- Plugin conflicts: Ongoing debugging
- Annual cost: ~$6,000 in developer time
Reality: Professional WordPress maintenance costs $50-$500+ per month, requiring 6.82-24.5 hours per year just for basic upkeep. With WordPress sites facing over 90,000 attacks per minute (Wordfence), that maintenance isn't optional.
What did we save? All of it.
5. Can we add it later if needed?
If yes, don't build it now.
We can add a CMS in a day or two if we need one later. But we probably won't.
Three Common Over-Engineering Patterns
Pattern 1: The Premature CMS
Symptom: You have 5 pages and 100 MB of CMS software.
Reality: You're editing content twice a year.
Better approach:
- "How often will we update content?"
- "Maybe quarterly?"
- "How comfortable are you with simple text files?"
- "Pretty comfortable."
- "Great. Markdown files. Done."
Savings:
- Setup time: 3 weeks → 15 minutes
- Hosting costs: $30/month → $5/month
- Security updates: 2 hours/month → 0
- Decision fatigue: Endless → None
Performance impact: 47% of customers expect a webpage to load in 2 seconds or less, and 53% of mobile users abandon pages that take longer than 3 seconds. CMS overhead isn't just costing you money—it's costing you visitors.
Pattern 2: The Framework for Everything
Symptom: Your brochure site loads 500 KB of JavaScript to display text.
Reality: You don't have client-side interactions. You have content.
Our decision:
- "Do we need client-side interactivity?" → No, just animations
- "Server-rendered HTML with progressive enhancement?" → Perfect
Result:
- JavaScript: 500 KB → 15 KB
- PageSpeed: 75 → 96
- Build complexity: Gone
Why it matters: Conversion rates drop 4.42% per second of load time. A B2B site loading in 1 second has a conversion rate 3x higher than one loading in 5 seconds. Fast sites aren't just technically better—they're better for business.
Pattern 3: The Feature Kitchen Sink
Symptom: Chatbot, calendar, booking system, forum, wiki, knowledge base.
Reality: None get used. Site is slow. Maintenance is hell.
The data backs this up: Studies show 45% of features in software projects are never used. You're not just building things you don't need—you're building things nobody will ever use.
Better approach:
- "What do we KNOW users need?" → A way to contact us
- "What's the simplest way?" → A form. Or a phone number.
- "Done."
Savings:
- Development: 3-4 weeks → 1 day
- Integrations: Multiple APIs → None
- Things that can break: 7 → 1
Our Actual Decision Process
Let me walk you through our three biggest decisions:
Do we need a CMS?
Analysis:
- Update frequency: Monthly blog, quarterly page edits
- Who edits: Us, comfortable with markdown
- Workflows needed: None
- Maintenance burden: CMS = 2 hours/month, Markdown = 0
- Can we add later: Yes, in a day
Decision: No CMS. Markdown files + PHP templates.
Savings: $6,000+/year, 2 hours/month maintenance
Do we need a JavaScript framework?
Analysis:
- Building a web app or website? → Website
- Complex client-side interactions? → No
- Real-time updates? → No
- Will it make the site faster? → No, slower
Decision: Vanilla JavaScript, server-rendered HTML.
Impact: 500 KB → 15 KB bundle, PageSpeed 75 → 96
Do we need a database?
Analysis:
- Storing user data? → No
- Relational content? → No
- Complex queries? → No
- Thousands of pages? → No
Decision: File-based content. Zero database overhead.
Savings: 1 week setup, $0/month hosting, no backup complexity
The "Might Need Later" Trap
Here's what we didn't build:
User Authentication
Reasoning: "We might want a client portal later."
Why we didn't: "Might" is not a requirement. Can add in days if needed.
6 months later: Still haven't needed it.
Search Functionality
Reasoning: "With more articles, users might want search."
Why we didn't: Useful at ~100+ articles. We have 12. Google works fine.
Better solution: Category filtering + good navigation.
Newsletter Integration
Reasoning: "Email signup would be good for lead gen."
Why we didn't: GDPR compliance, email service setup, maintenance burden.
If needed: Mailchimp in 2 hours.
The principle: Build for TODAY's needs with TOMORROW's change in mind. Don't build TOMORROW's features today.
Your Requirements Should Fit on One Page
Seriously. If your requirements doc is more than one page, you're building too much.
Requirements Template
Business Goals:
[What are you trying to achieve?]
Content Types:
[What kinds of content? How often updated?]
User Actions:
[What should visitors do? What's the conversion goal?]
Team Capabilities:
[Who manages it? What are their technical skills?]
Technical Constraints:
[Existing systems? Performance requirements? Budget?]
Explicit Non-Requirements:
[What are you specifically NOT building? What features are you deferring?]
What Simplicity Gets You
By saying "no" to most features, here's what we gained:
Speed:
- Development: 2 days instead of 2 months
- Page load: 96 PageSpeed score
- Updates: 5 minutes to publish an article
Cost:
- Hosting: $5/month instead of $50/month
- Maintenance: ~1 hour/month instead of ~10 hours/month
- No ongoing service fees
Reliability:
- No database to crash
- No CMS to update
- No plugins to conflict
- Fewer things to break
Flexibility:
- Easy to update (edit files)
- Easy to backup (copy a directory)
- Easy to version control (Git)
- Easy to migrate (just files)
Mental clarity:
- Know exactly how everything works
- No mysterious black boxes
- No vendor lock-in
- No complicated deployment
Conclusion: Less is More (Literally)
The best feature is the one you don't build.
Every feature you add takes time to build, needs maintenance, can break, adds complexity, and creates cognitive load.
Every feature you skip saves time now, saves maintenance forever, can't break, keeps things simple, and preserves mental clarity.
Most websites need 20% of what people think they need. Find that 20%. Build only that. Add more later if (and only if) you actually need it.
Our principle: Build for TODAY's needs with TOMORROW's change in mind. Don't build TOMORROW's features today.
That's how you ship in days instead of months.
Next in This Series
In our next article, we'll talk about how AI changed our package selection process—and why you still need to think critically about every suggestion it makes.
Coming next: How AI Changed Package Selection (And Why You Still Need to Think)
Want help figuring out what your project actually needs? That's what we do. We've been building web systems for 25 years, and we're really good at separating "must have" from "nice to have."
Let's talk: Contact us
This is Part 1 of our Website Rebuild series:
- Part 1: What Your Website Actually Needs (You are here)
- Part 2: AI Package Selection
- Part 3: The New Web Economics [Coming Jan 31]
- Part 4: Iterative Development [Coming Feb 15]
- Part 5: SEO Fundamentals [Coming Feb 28]
- Part 6: Performance Optimization [Coming Mar 15]
Read the series overview: Rebuilding Envigna.com in Two Days