Why we choose the right tool for the job, not the trendy one

We get asked, regularly, "What stack do you use?" The honest answer is: it depends on the job.

Decisions, not religion

A small team that ships well in their primary language will outperform a large team fumbling with a fashionable one. We pick stacks based on three things: the team that will maintain it, the integrations the system needs, and the operational model the customer can actually support.

What we reach for, and why

  • Laravel + PHP when the project is web-first and we need to ship fast with batteries-included tooling.
  • Python (FastAPI or Django) when the system has data-pipeline or ML-adjacent components.
  • C# / .NET when integrating with Microsoft ecosystems, Windows services, or AD-heavy environments.
  • Go when we need a single-binary network service that has to run forever without drama.
  • JavaScript / TypeScript on the frontend, with Vue or React based on team familiarity.

What we avoid

We are skeptical of using a brand new framework for production work the day it ships. We are also skeptical of all-encompassing platforms that lock customers into one vendor's pricing for the next decade.

Related posts.