uses
list of tools, software, languages, and hardware i use or explore for software development, meteorology, and other stuff.
editor & terminal
Visual Studio Code is my main editor.
I use Git Bash as my daily terminal, mostly because it gives me a familiar Unix-style workflow on Windows.
For AI-assisted development, I use Claude Code and Codex to help with code review, refactoring, debugging, documentation, and exploring implementation ideas.
languages & runtimes
Python is my main language for data processing, meteorological workflows, automation, modelling, and machine learning experiments.
TypeScript is my default language for web development. I use it across frontend applications, API clients, schemas, and full-stack projects.
SQL is becoming increasingly central to my work, especially for application data models, reporting, analytics, and operational systems.
Java is something I still use occasionally, mostly because it was important in my software development training and remains useful for understanding object-oriented design.
Go is the next language I am learning. I am interested in it for backend services, infrastructure tooling, and simple, reliable server-side systems.
frontend stack
For web applications, I usually start with Next.js, React, and TypeScript.
I use Tailwind CSS v4 for styling and often start interface work with shadcn/ui components before customising the design.
For data-heavy interfaces, I use TanStack Query to manage server state and Kubb to generate type-safe API clients from OpenAPI specifications.
I use Zod at application boundaries where runtime validation matters, especially when working with external data, forms, and API responses.
For TypeScript-first database work, I use Drizzle ORM.
backend & data
FastAPI is my preferred backend framework for REST APIs, especially when building Python services that connect application logic, data workflows, and scientific computing.
PostgreSQL is my default database for serious projects because it is reliable, widely supported, and strong enough for both application data and analytical workloads.
I use Alembic for database migrations in Python-based backend projects.
For meteorological and scientific data, I work with xarray and cfgrib to process atmospheric model data such as GRIB2 and NetCDF.
For analysis and machine learning baselines, I use pandas, NumPy, and scikit-learn.
infrastructure
I use Docker for projects that need to run reliably across environments.
For CI/CD, I use GitHub Actions.
For hosting, I usually reach for Vercel for static and frontend applications, and DigitalOcean droplets or Azure virtual machines for backend services and production systems.
hardware
My main development machine is a Lenovo laptop.
My phone is a OnePlus 13, which I use for communication, testing mobile experiences, reading, and general day-to-day work.
around the desk
I usually work with Apple Music, a podcast, or an audiobook in the background, depending on the task.
For quick thinking, planning, and rough notes, I still use a paper notebook.