/stack · last updated this week

Tools, and why

A list curated against the tools I actually reach for, not the ones that look good on a CV. Updated when something changes, not on a schedule.

Languages

  • C# / .NET 8
    since 2021

    My primary backend language. ASP.NET Core — ergonomic, fast, onboardable.

  • TypeScript
    since 2022

    For UI and small Node services. Strict mode, no any, no exceptions.

  • Python
    since 2021

    Scripts, data work, small FastAPI services.

  • SQL (Postgres)

    More expressive than people think. I write the query before the API.

Backend

  • ASP.NET Core

    The main framework on the C# side. Minimal API for speed, MVC when needed.

  • FastAPI

    On the Python side — type-safe, OpenAPI for free.

  • Postgres 16

    Default database. JSONB covers most 'we need NoSQL' cases.

  • Redis

    Caching, rate limits, ephemeral session state. Not as a primary store.

  • EF Core

    ORM on .NET. Migration history is decent.

Infra & ops

  • Docker + Compose

    Local dev. Reproducible enough for the team.

  • CI/CD pipelines

    Tests, lint, deploy on tag. Self-hosted runner.

  • Nginx

    Edge in front of every service. Boring, well-understood, fast.

  • Telegram Bot API

    Internal notifications, deploy alerts, KPI reports.

Frontend

  • Next.js 14

    App Router for new work. RSC where it pays for itself.

  • Tailwind

    Stops me re-inventing CSS naming every project.

  • Framer Motion

    Animations only when they communicate. This site is the maximum.

Editors & local

  • JetBrains Rider

    .NET work. The refactor tools earn the license.

  • VS Code

    Everything else. Vim bindings, minimal extensions.

  • Zsh + Starship

    Nothing fancy. Two-line prompt and git status.

  • tmux

    One window per project. Same layout on every machine.

Conspicuously absent: Kubernetes for three services, MongoDB on the first project, GraphQL for two endpoints, microservices for a team of three. Each has burned me. I'd use them again — at the sixth project that needs them, not the first.