Tech stack
What's installed, and why.
No aspirational lists. This is the real setup — including the bits I'd swap and what it costs to run in Australian dollars.
Editor & AI
Where the work actually happens.
Claude Code
Agentic dev in the terminal
Primary driver for refactors, reviews, and MCP work.
VS Code
Editor
Vim keybindings, minimal extension set to keep it fast.
Claude Desktop
MCP client
For testing servers against a real client surface.
Language & Runtime
Typed where it counts.
TypeScript
Default language
Strict mode, no implicit any — non-negotiable on every repo.
Node.js
Runtime
LTS line; pnpm for workspaces, npm for single apps.
Go / Rust
When it must be a single binary
CLIs and anything latency-sensitive.
Framework & UI
Server-first, accessible by default.
Next.js
React meta-framework
App Router, RSC, ISR. This site runs on it.
Angular
When SSR + structure win
tishandavid.com runs on Angular SSR.
Tailwind CSS
Styling
v4 with CSS variables for theming.
Radix UI
Headless primitives
Accessible behaviour, my own styling on top.
Infra & Hosting
Self-hosted, predictable bills.
Dokku
PaaS on a VPS
Heroku-style git-push deploys; both my sites run here.
Cloudflare
DNS, proxy, SSL edge
Free tier covers DNS + caching for personal sites.
Docker
Build & runtime
Multi-stage builds, standalone output for small images.
GitHub Actions
CI/CD
Path-filtered deploys per app in a monorepo.
Where I host side projects (AUD)
| Option | From / month | Best for | Catch |
|---|---|---|---|
| Dokku on a VPS | ~A$9 | Multiple apps, full control | You own the ops |
| Vercel | A$0 → A$30+ | Next.js, zero-ops | Bandwidth/seat costs scale |
| Fly.io | ~A$5 | Edge containers | Volumes + networking quirks |
| Cloudflare Pages | A$0 | Static / edge functions | Runtime constraints |
Prices indicative as of mid-2026; a single A$9 VPS comfortably runs several Dokku apps.
The reusable configs and templates behind this setup are in downloadable tools & configs.
FAQ
Why Dokku instead of Vercel for a Next.js site?
One A$9/month VPS runs multiple apps with no per-seat or bandwidth surprises. The trade-off is that I own the ops — but git-push deploys via Dokku get me 90% of the Vercel DX.
TypeScript strict everywhere — even small scripts?
Yes. The cost is near-zero with modern tooling and it catches the boring bugs before they ship. Strict mode is the default on every repo.
Next.js or Angular?
Both, deliberately. tishandavid.dev is Next.js (App Router + RSC); tishandavid.com is Angular SSR. Picking the right tool per project keeps me honest about each framework's real trade-offs.