Tech stack (with judgment)

I’m comfortable across the stack, but I don’t pick tools to show a list. I pick them to match constraints: SEO vs internal usage, team maturity, delivery timeline, and how likely requirements are to change.

How I choose

The same goal can justify different stacks. These are the heuristics I reach for most.

Next.js
SSR/SEO
  • Landing pages and marketing sites that need fast first paint and crawlable content.
  • Marketplaces and content-heavy surfaces where routing, metadata, and performance are core.
  • Prefer App Router + server components when it simplifies the data path.
React + Hono / Nest / Django
Internal
  • Internal tools with auth + CRUD + workflows where SEO isn’t the product.
  • I optimize for DX: predictable APIs, types, and a maintainable domain model.
  • Choose the backend based on the team and the shape of the problem, not fashion.
Boring defaults, strong guardrails
Judgment
  • Start simple: clear boundaries, good error handling, consistent patterns.
  • Scale with evidence: profiling, indexes, caching, background jobs when needed.
  • Quality includes accessibility, performance budgets, and safe refactors.

What I use

Tools I’m fluent with, grouped by layer. The important part is when to use them and when not to.

Frontend
ReactNext.jsTypeScriptHTML5/CSS3/JavaScript
Backend
Node.jsBunHonoNest.jsDjango
Data
PostgreSQLMySQLSQLitePrismaDrizzle
Performance & caching
RedisIndexes and query planningCaching with intent