Tools I actually use, and how often.
A working inventory — what I reach for daily, what I keep sharp weekly, and what I pull off the shelf when a project asks for it. Everything here is from work I've shipped or maintain right now.
Languages
TypeScript
Daily driverDefault for everything new — strict mode, narrow types, generics where they pay off.
JavaScript
Daily driverLong-lived dialect — comfortable across ES5 quirks to modern ESM.
Go
Weekly useBackend services, CLIs, and small concurrent tools. Lean on the stdlib.
Used atTuktu.caC#
Weekly use.NET Core services and migration work — async/await, LINQ, EF Core.
Used atKatanaPIMJava
OccasionalUsed for academic and earlier work — Spring basics, Maven builds.
Frontend
React
Daily driverHooks, suspense, server components. Jotai or Zustand for state, React Query for server state.
Next.js
Daily driverApp Router, server actions, edge proxies. Shipping this site on Next.js 16 + Turbopack.
Vue 3
Weekly useComposition API, Pinia, Nuxt — used for Powerkick's customer-facing app.
Used atPowerkickReact Native
OccasionalCross-platform mobile shells — Expo, Reanimated, native modules when needed.
Tailwind CSS
Daily driverv4 with CSS-variable tokens. Pair with shadcn for primitives.
Backend
Node.js
Daily driverExpress, Fastify, BullMQ. Comfortable in event-loop debugging and worker threads.
GraphQL
Weekly useApollo and urql on the client; codegen for end-to-end type safety.
Used atPowerkick.NET Core
Weekly useWeb APIs, background services, EF Core migrations. Containerized for Linux.
Used atKatanaPIMgRPC
OccasionalService-to-service contracts with protobuf — used in Tuktu's microservices.
Used atTuktu.ca
Database
PostgreSQL
Daily driverSchema design, indexing, query plans. Comfortable with JSONB and CTEs.
MS SQL
Weekly useKatanaPIM's primary store — millions of product records, tuned indexes and views.
Used atKatanaPIMMongoDB
Weekly useDocument modeling, aggregations, and Atlas — used where schema flexibility wins.
Redis
Weekly useCaching, rate limits, BullMQ queues, pub/sub for realtime.
Cloud & DevOps
Docker
Daily driverMulti-stage builds, slim images, compose for local stacks. Every service behind amitrai.fyi, overflowlabs.org, and raicomputer.com ships as a Docker image.
Kubernetes
Daily driverSelf-managed cluster running my full personal infra — amitrai.fyi, overflowlabs.org, raicomputer.com — with Helm charts, ingress, HPAs, and zero-downtime rollouts.
Used atTuktu.caArgoCD
Daily driverGitOps controller for the same cluster. Every site (amitrai.fyi, overflowlabs.org, raicomputer.com) auto-syncs from a GitHub repo — push to main, ArgoCD reconciles.
GitOps
Daily driverGit is the single source of truth for infra and app manifests. Pull-request review on every cluster change, no kubectl-from-laptop deploys.
GitLab CI
Daily driverPipelines for build, test, scan, deploy. Reusable templates and cache strategy.
Used atKatanaPIMAzure
Weekly useApp Services, Container Registry, Key Vault — where KatanaPIM lives.
Used atKatanaPIMAWS
OccasionalECS, S3, CloudFront, Lambda — used for side projects and earlier work.