Skip to main content
devopsinfo.in

What I use

A living list of hardware, software, and tools that make up my daily environment. Inspired by uses.tech. Last updated 2026.

Development Environment

Neovim + VS Code

Neovim for deep editing sessions; VS Code with Vim keybindings for project-wide work and extensions. Both configured from the same dotfiles.

Warp

Terminal emulator. Blocks, AI completion and multiplexed panes make it worth the switch from iTerm2.

Zsh + Oh My Zsh

Shell with Powerlevel10k prompt, zsh-autosuggestions, and zsh-syntax-highlighting. Aliases live in a separate file committed to dotfiles.

JetBrains Mono

Monospaced typeface with ligatures. Used in both the terminal and the editor at 14px.

Infrastructure & Cloud

Cloudflare

Tunnel for exposing local services without opening ports, Pages for static deployments, DNS for every domain, and Turnstile for bot protection on forms.

Docker + Docker Compose

Every service on the VPS runs in a container. Compose files are committed alongside the app code — no configuration drift between development and production.

Ubuntu Server (via CyberPanel)

Ubuntu LTS on a VPS. CyberPanel handles SSL certificate renewals and virtual host configuration so Nginx configuration stays out of my way.

GitHub Actions

CI/CD for every project. Linting, testing, building, and deploying on push to main. Secrets stay in GitHub; environment files are never committed.

Languages & Frameworks

Python — FastAPI, SQLAlchemy, Alembic

Primary backend language. FastAPI for APIs, SQLAlchemy for the ORM, Alembic for schema migrations. Type annotations throughout.

TypeScript — Astro, Node.js

Frontend and build tooling. Astro for this site and content-heavy pages; Node.js for scripts and lightweight servers.

SQL — SQLite, PostgreSQL

SQLite in production for most personal projects (simpler ops, zero infrastructure). PostgreSQL at work for high-concurrency workloads.

Bash / Shell scripting

Glue for deployment scripts, cron jobs, and CI steps. Kept short and readable; anything complex moves to Python.

Databases

SQLite

This site's backend database. Single-file, zero maintenance, and fast enough for the workloads I throw at it.

PostgreSQL

Go-to relational database for work and multi-user applications. Excellent tooling and extension ecosystem.

Redis

Caching layer and session store. Used primarily for rate limiting and short-lived token storage.

ClickHouse

Column-oriented OLAP database for analytics at work. Handles hundreds of millions of events with sub-second query latency.

Monitoring & Observability

Uptime Robot

Free-tier uptime monitoring with 5-minute checks and email/Telegram alerts. First thing I set up for any new service.

Python logging module

Structured JSON logging configured at the application level. Log level controlled by environment variable; no third-party logging library needed for most projects.

Docker logs → stdout

All containers log to stdout. Docker captures them; `docker logs -f` is the first tool I reach for during an incident.

Hardware

MacBook Pro M1

Primary development machine. The M1 performance-per-watt is still remarkable. Development, writing, and local Docker workloads all run here.

Ubuntu VPS

Production server. Runs all deployed services via Docker Compose. Managed through SSH and Cloudflare Tunnel — no exposed SSH port.