Frontend
Started with JavaScript and PHP, moved to Vue through Laravel's ecosystem, built scienceweb.uz in Vue 2.6 and later rewrote it with Vue 3 and Composition API. Moved to React for the ecosystem breadth. I know the tradeoffs — Next.js is great for most apps but starts struggling when the frontend is highly interactive; Vue handles that better performance-wise, and TanStack is a better React story than Next.js for certain use cases. I pick based on what the project actually needs, not habit. Tailwind CSS for styling, Zustand over Redux for state. I avoid component libraries when I can — custom components are easier to evolve.
Backend & Languages
Python, TypeScript, and Go — not just at the framework level. I've written Python modules (custom Elasticsearch query generation, GitHub Linguist port from Ruby), understand asyncio deeply and know when async/await actually helps vs when it's unnecessary overhead. I can explain the difference between multiprocessing parallelism, multithreaded concurrency, and cooperative multitasking — many developers conflate these. FastAPI is my preferred Python framework; Flask is too minimal, Django too heavy, but I can work with both. Node.js and Express/Fastify for TypeScript backends. Go is my current focus — I love its concurrency model and tried implementing Telegram's MTProto protocol as a learning exercise.
Databases
PostgreSQL is my default — it handles most use cases well. I've also worked with MongoDB (including running self-managed clusters on EC2), MySQL (recovered a corrupted 11M-row database by hand), and Redis. Wrote a Python module to generate Elasticsearch queries and understand its internals well enough to reason about scoring and analyzers. For AI projects I've used vector databases — Weaviate and Qdrant — for semantic search and embeddings.
Infrastructure
Kubernetes, Docker, Helm, Nginx, Linux, Git — the full picture around software delivery, not just the code. Went through CKA exam preparation and run a 9-node cluster at home with Calico CNI and eBPF — including debugging real issues like ARM and eBPF networking incompatibilities. On cloud, I worked intensively with AWS at YoFi — SAM templates, CDK, SST, Lambda, DynamoDB, Neptune. Wrote SAM templates to spawn and auto-scale MongoDB clusters on raw EC2. Ansible for provisioning, ArgoCD for GitOps, Traefik for ingress, Victoria Metrics and Grafana for observability.
Tooling & Process
Biome over ESLint + Prettier — one tool, faster, opinionated. Bun as package manager for speed. Conventional commits for readable git history. Code reviews focused on architecture and correctness, not style (that's what formatters are for). I write tests for behavior, not implementation — integration tests over unit tests for most business logic.