Skip to main content

How I Choose Tools for Client Projects

3 min read

How I Choose Tools for Client Projects

Technology selection can make or break a project. Choose well, and you get a maintainable system. Choose poorly, and you create technical debt from day one.

The Testing Process

I maintain nearly one hundred self-hosted services specifically to understand how tools behave in production. This isn't theoretical knowledge—it's hands-on experience with what actually works.

What I Test

For each tool category, I run multiple options simultaneously:

  • Web frameworks and static site generators
  • Database systems and storage solutions
  • Automation platforms and workflow engines
  • Monitoring and backup systems
  • Development and deployment tools

This parallel testing reveals differences you won't find in documentation.

Evaluation Criteria

When choosing tools for client projects, I evaluate:

1. Operational Simplicity

Can this run reliably with minimal intervention? Systems requiring constant attention don't scale.

2. Maintenance Burden

What happens when updates are needed? How painful are migrations? What's the upgrade path?

3. Documentation Quality

Can someone else understand this without me? Documentation quality directly impacts handoff success.

4. Community Health

Is this actively maintained? Are issues being addressed? What's the trajectory?

5. Exit Strategy

How easy is it to migrate away if needed? Lock-in is technical debt.

6. Cost-Effectiveness and Open-Source Alternatives

A key part of my evaluation process is determining when open-source tools provide genuine alternatives to commercial products. This isn't about choosing "free" over "paid"—it's about identifying where open-source tools deliver comparable or superior functionality without vendor lock-in or recurring costs.

Through my homelab testing, I maintain parallel deployments of both commercial and open-source solutions in the same categories. This direct comparison reveals:

  • Which open-source tools genuinely compete with commercial offerings
  • Where commercial tools justify their cost through unique features
  • Hidden costs in both open-source (maintenance, complexity) and commercial (licensing, lock-in) solutions

For example, I've run both proprietary and open-source solutions for:

  • File storage: Nextcloud vs. Dropbox/Google Drive
  • Databases: PostgreSQL vs. commercial options
  • Monitoring: Prometheus/Grafana vs. commercial APM tools
  • Backup systems: Restic/Borg vs. commercial backup services

This hands-on comparison means I can recommend open-source alternatives with confidence, knowing they've been proven in real-world use.

Real Example: Static Site Generators

I've run production sites with:

  • Jekyll (Ruby-based)
  • Hugo (Go-based)
  • Next.js (React-based)
  • Eleventy (JavaScript-based)

Each has strengths for different scenarios:

  • Jekyll: Battle-tested, GitHub Pages native, but Ruby dependency
  • Hugo: Extremely fast builds, single binary, limited extensibility
  • Next.js: Full React ecosystem, hosting flexibility, complexity cost
  • Eleventy: JavaScript-native, highly flexible, smaller community

For Cold Start Lab, I chose Next.js because:

  1. Client may want dynamic features later
  2. Vercel hosting provides excellent DX
  3. React skills are transferable
  4. Component-based architecture scales well

The AI Question

AI tools get evaluated with the same criteria. I use them when:

  • They solve a specific, measurable problem
  • I can verify and control their output
  • They don't introduce unnecessary dependencies
  • The cost/benefit makes practical sense

I don't use AI for its own sake or because it's trendy.

What This Means for Clients

When I recommend a tool, you're getting:

  • Production-tested experience
  • Clear understanding of tradeoffs
  • Knowledge of operational requirements
  • Honest assessment of maintenance costs

No tool is perfect. The goal is choosing the best fit for your specific situation.

Research as Service

This research infrastructure—the homelab I run with about 70 self-hosted applications—exists specifically to inform better technology decisions. It's not theoretical. It's real systems handling real workloads.

This is why I can give you straightforward answers about what works and what doesn't. It's not guesswork or vendor marketing. It's operational experience.