Portfolio · Kata
// Stack

How I Build

I don't default to a single stack. I choose tools based on the problem, the product, and the constraints.

// Backend
Node.jsTypeScriptExpressGo

Node and TypeScript are my default backend stack. I reach for Go when a service benefits from low overhead, predictable performance, or a single deployable binary.

// Data & Storage
PostgreSQLPrismaMongoDBMongooseAWS S3

Postgres for anything relational, MongoDB where a document model genuinely fits better, not by default. S3 for anything that's just files.

// Frontend
ReactViteNext

Enough to build a clean interface without fighting the tooling to get there.

// AI & Models
Gemma 4Gemini API

The right-sized model for the job. One model reasoning, a smaller one handling a task it fits better, not one model doing everything.

// Deployment & Infra
RenderVercelNeonDigitalOceanGCP

I choose deployment infrastructure based on workload, cost, and operational simplicity rather than forcing every project onto the same platform.

// Exploring
HonoCloudflare Workers

Exploring this for smaller services where edge deployment and low-cost hosting make sense. Still early.

// Testing & Quality
JestSupertestZodESLint

I prefer explicit validation, isolated boundaries, and tests around the parts of a system that are actually worth protecting.

// Developer Tooling
Turborepopnpm

My default for monorepos when shared packages and consistent tooling start to matter.