// Stack
Sixteen tools, used on purpose.
What I build with, how long I have used it and how often. If a tool is not here, I will say so before I learn it on your budget.
How to read the levels
- Daily
- On most working days. Ask me anything.
- Weekly
- In regular use. I ship with it without looking things up.
- Comfortable
- I can deliver with it, a little slower.
| Tool | Years | Level | What I use it for |
|---|---|---|---|
| TypeScript | 6 yr | Daily | Strict mode, no any. Types end to end, from the database to the screen. |
| JavaScript | 6 yr | Daily | The platform underneath everything else, and still where the bugs live. |
| Node.js | 6 yr | Daily | APIs, background jobs and the glue between services. |
| SQL | 4 yr | Weekly | Schemas, migrations and the queries an ORM gets wrong. |
| Tool | Years | Level | What I use it for |
|---|---|---|---|
| React | 6 yr | Daily | Web apps and dashboards. Plain state until it needs more. |
| React Native / Expo | 4 yr | Daily | One codebase for iOS and Android, built for the field and bad signal. |
| Next.js | 4 yr | Weekly | The default when a product needs a server and a deadline. |
| Tailwind CSS | 3 yr | Weekly | Fast styling that stays close to the component. |
| Tool | Years | Level | What I use it for |
|---|---|---|---|
| Postgres | 5 yr | Daily | Model the data first. Constraints in the database, not in hope. |
| Supabase | 4 yr | Daily | Auth, storage and row-level security for most of what I ship. |
| Drizzle or Prisma | 3 yr | Weekly | Typed queries and migrations that live in the repo. |
| REST and GraphQL | 6 yr | Weekly | APIs for apps and partners, with the docs written down. |
| Tool | Years | Level | What I use it for |
|---|---|---|---|
| Vercel / Railway | 4 yr | Weekly | Preview deploys on every pull request, and servers for the jobs that run long. |
| Cloudflare | 3 yr | Comfortable | DNS, caching and the odd worker at the edge. |
| GitHub Actions | 5 yr | Weekly | Type checks and tests on every push. Nothing ships red. |
| OpenAI / Anthropic APIs | 2 yr | Weekly | AI features that earn their place, with a fallback when they do not. |
Years are counted from the first paid project, not the first tutorial.
// Start a project
Tell me what you are building.
Three quick picks so the first reply is useful. You finish the message on the contact page.