How i build projects
These are my preferences whe building new projects.
Pragmatic stack selection
Next.js for app-like products; Astro/Hugo/plain HTML for content sites; Expo for mobile; Go/Python for focused tools; Ansible/Nix for infrastructure.
Modern web defaults
Next.js App Router, React 19, strict TypeScript, Tailwind 4, pnpm, Node 24, Oxlint/Oxfmt.
Server-first architecture
Server Components and route handlers stay near pages. Domain logic moves into lib/, workers, pipelines, or shared packages when complexity warrants it.
Typed boundaries
Zod validation, Drizzle/PostgreSQL, generated OpenAPI clients, typed routes, committed migrations.
Composable UI
shadcn-style primitives, Base UI, CVA, utility classes. React islands used sparingly on static sites.
Self-hosting friendly
Multi-stage Alpine containers, non-root runtimes, standalone Next builds or nginx static images, Compose for local dependencies, Coolify for deployment.
Automation over ceremony
Gitea CI, frozen installs, lint/type gates, reusable Dockerfiles, operational scripts, occasional centralized tooling CLI.
Tests follow product risk
Mature systems receive Vitest plus Playwright/integration coverage. Small sites and prototypes often stop at type, lint, build, accessibility, or content checks.