Stack
What I reach for, and why. Grouped the way the work is actually divided rather than by how impressive the list looks.
A short list, used properly
I would rather know four things well than twenty by name. The list below is what I have shipped with, not what I have read about: if something is on it, there is a project behind it.
The choices are boring on purpose. A stack earns its place by still being understandable in a year, when the person maintaining it is me and I have forgotten why any of it is the way it is.

Languages
- C#
- PHP
- Python
- TypeScript
- JavaScript
- Go
- Dart
- Java
- C
- C++
- SQL
Backend
- .NET / ASP.NET
- Django
- Flask
- Laravel-style PHP
- REST API design
- Auth & sessions
Frontend
- React
- Next.js
- Tailwind CSS
- Flutter
- HTML & CSS
- Accessibility
Data
- MySQL / MariaDB
- SQL Server
- Firebase
- Schema design
- Triggers & procedures
AI
- OpenAI API
- Google Gemini
- Prompt pipelines
- Stable Diffusion
- GPT-2
Growth
- International SEO
- Multilingual sites
- Google Cloud
- Analytics
- Git
How I choose

Boring where it counts
Databases, auth and money paths get the dullest, best-documented option available. Novelty belongs further from the data.

Thin seams
Anything external - a model provider, a payment gateway, a CMS - sits behind an interface small enough to replace in an afternoon.

Readable over clever
The trigger chain that keeps stock correct is commented in the language of the people who own the warehouse, not the language of the ORM.
Every tool above has a project behind it
Nothing on this page is aspirational. If you want to see what a line of it actually produced, the index is one click away.
See it in the projects