madebyleon.meLoading
0%
01 / Initializing
000

Uses — Developer Setup, Tools & Environment by Leon Fernando Wijaya

(04) Uses

L/
/Setup

A living document of everything I use to build software — hardware, tools, editors, and the CLI utilities that make my workflow feel fast and intentional.

Leon's developer workspace setup

Hardware

MacBook Pro 14" M3 ProPrimary

My primary machine. The M3 chip handles anything I throw at it — running Docker clusters, video rendering, and multiple browser dev tools simultaneously without breaking a sweat.

LG 27" 4K IPS Monitor

A crisp 4K IPS panel that makes long coding sessions comfortable. 99% sRGB coverage means colors look accurate whether I'm reviewing UI designs or reading docs.

Keychron Q1 ProDaily Driver

Mechanical keyboard with Gateron G Pro Red switches. The tactile feedback and satisfying sound make it a joy to type on, even after 8+ hours. No-compromise build quality.

Logitech MX Master 3S

The best mouse I've ever used for productivity. The MagSpeed scroll wheel is magical for reading long documentation or code, and the thumb buttons are remapped to common IDE shortcuts.

AirPods Pro 2nd Gen

For deep focus sessions and remote calls. Active Noise Cancellation is genuinely transformative in open offices or cafes. Transparency mode for situational awareness when needed.

Ergotron LX Monitor Arm

Frees up desk space and lets me position the monitor exactly right — slightly above eye level for better posture during long sessions.

Editor & Terminal

Visual Studio CodePrimarycode.visualstudio.com

Still my go-to after trying Neovim, JetBrains, and Zed. The extension ecosystem is unmatched and the performance with the right settings is excellent.

One Dark Pro Theme

Dark theme that's easy on the eyes after hours of staring at code. The contrast ratios are well-considered and syntax highlighting colors are distinct enough to scan quickly.

JetBrains Mono

Purpose-built monospace font with ligatures. The increased letter spacing reduces eye strain and the cursive italic variants help distinguish code constructs visually.

iTerm2 + Zsh + Oh My Zshiterm2.com

My terminal setup. Powerlevel10k prompt theme, zsh-autosuggestions, and zsh-syntax-highlighting are non-negotiable plugins that make the CLI feel modern.

tmux

Session management for terminal. I run persistent tmux sessions for each active project — no more losing context when closing terminal windows.

GitHub CopilotAI

The AI autocomplete actually accelerates work, especially for boilerplate, test generation, and documentation. I use it as a pair programmer, not a replacement for thinking.

Core Tech Stack

NestJS + TypeScriptPreferred

My primary backend framework. The opinionated structure, DI container, and first-class TypeScript support make it excellent for large, maintainable API projects.

Next.js 15Preferred

For all frontend and full-stack projects. The App Router, Server Components, and built-in optimization make it the most complete React framework available.

PostgreSQL

My default database for most projects. The JSON support, full-text search, and extensibility (PostGIS, TimescaleDB, pg_trgm) make it incredibly versatile.

Docker + Docker Compose

Every project runs in containers locally. Docker Compose for local dev environments means new team members are onboarded in minutes, not days.

Laravel

When projects call for rapid API development or need a mature ecosystem for complex business logic, Laravel's Eloquent ORM and built-in tooling are hard to beat.

RabbitMQ

Message broker for event-driven microservices architectures. Reliable, battle-tested, and the NestJS integration is excellent.

Apps & Services

RaycastMust Haveraycast.com

Replaced macOS Spotlight entirely. The clipboard history, window management, and custom scripts make it an indispensable productivity multiplier.

The best GUI for database management. Connects to PostgreSQL, MySQL, Redis, and more. The clean interface and keyboard shortcuts make database work pleasant.

For UI design review, wireframing, and collaborating with designers. Even as an engineer, being able to inspect designs and export assets precisely saves hours.

Notion

Personal knowledge base, project documentation, and weekly reviews. My second brain for everything that's not code.

Issue tracking that doesn't get in the way. Fast, keyboard-driven, and the GitHub integration is seamless for linking PRs to issues.

API testing and documentation. Prefer it over Postman for its cleaner UI and better GraphQL support.

CLI Tools

pnpm

Faster, disk-efficient npm alternative. The shared content-addressable storage means node_modules across projects don't consume absurd amounts of disk space.

lazygit

Terminal UI for git that makes complex git operations visual and intuitive — interactive rebasing, cherry-picking, and resolving conflicts become manageable.

fzf

Fuzzy finder for the terminal. Piped into history search, file navigation, and git branch switching — it makes the command line feel like it has autocomplete for everything.

ripgrep (rg)

The fastest grep replacement. Searching through large codebases instantly, respecting .gitignore by default. Run as the search backend for VSCode too.

k9s

Terminal UI for Kubernetes. Managing pods, viewing logs, exec-ing into containers — all from a fast, keyboard-driven interface without writing endless kubectl commands.

gh CLI

GitHub's official CLI. Creating PRs, reviewing code, and managing issues from the terminal keeps me in flow without switching to the browser.