JU.

Setup

My setup

Tools, hardware, and software I rely on daily. Click any item to read the full take — why I use it, what I tried instead, and my verdict.

Hardware4

MacBook Pro M3

Primary machine. Battery life is genuinely wild.

+

Why

The M-series chips changed what portable performance means. No thermal throttling, no charger anxiety on normal days.

Alternatives tried

Dell XPS (too hot), ThinkPad (great keyboard, worse GPU)

Verdict

Best laptop I have ever owned. Not even close.

LG 27" 4K IPS Monitor

Easy on the eyes for long sessions.

+

Why

Color accuracy matters for design work. 4K at 27" is the sweet spot — dense but not tiny.

Alternatives tried

Dell U2723D, Apple Studio Display

Verdict

Great value. The Studio Display is better but $1000 better is debatable.

Keychron K2 (Brown)

Tactile without being clicky enough to annoy everyone.

+

Why

Mechanical keyboards are a rabbit hole. Browns hit the right balance of tactile feedback and not sounding like a typewriter.

Alternatives tried

Keychron K8, Nuphy Air75

Verdict

Bought it in 2021, still love it.

Logitech MX Master 3

The horizontal scroll wheel alone is worth it.

+

Why

The electromagnetic scroll wheel and the thumb scroll wheel for horizontal navigation are genuinely useful, not gimmicky.

Alternatives tried

Apple Magic Mouse (bad ergonomics), MX Anywhere 3

Verdict

Pricey but the ergonomics are unmatched for long sessions.

Terminal & Editor4

Warp

Terminal. The AI completions are actually useful.

+

Why

The block-based output model makes reading terminal history much cleaner. The AI inline suggestions catch flags I always forget.

Alternatives tried

iTerm2 (good but old-feeling), Kitty (fast but minimal)

Verdict

Switched and never looked back.

Fish shell

Autosuggestions out of the box, no config required.

+

Why

Zero config for a sane default experience. History-based autosuggestions are built in. Not POSIX but for interactive use that rarely matters.

Alternatives tried

Zsh + Oh-My-Zsh (too heavy), Bash (too bare)

Verdict

I recommend this to everyone who asks about shells.

Neovim

For serious editing. LazyVim config.

+

Why

Modal editing speed is real once it clicks. LazyVim gives a sensible default that doesn't take months to configure.

Alternatives tried

Emacs (power but steep), Helix (promising)

Verdict

Took 3 weeks to feel comfortable. Now I miss it in every other editor.

VS Code

For everything else. Especially big projects.

+

Why

Debugging, large monorepos, and pair programming. The ecosystem is unmatched. Copilot integration is seamless when you want it.

Alternatives tried

JetBrains IDEs (great for Java/Python but heavy)

Verdict

The everyday workhorse. Not exciting but reliable.

Stack4

Next.js

Default for web apps. App Router, RSC, the works.

+

Why

The App Router mental model finally makes server/client boundaries explicit. RSC is genuinely different — not just another SSR.

Alternatives tried

Remix (good, different tradeoffs), SvelteKit (love it for smaller things)

Verdict

The default choice until something genuinely better arrives.

Python

Data pipelines, scripts, ML. Django for bigger backends.

+

Why

The scientific stack is unmatched. Pandas, Polars, NumPy, scikit-learn — nothing else has this ecosystem for data work.

Alternatives tried

R (academia-focused), Julia (fast but niche)

Verdict

For data, there is no real competition yet.

PostgreSQL

Database of choice. Reliable, powerful, mature.

+

Why

JSONB, full-text search, arrays, CTEs, window functions — it does almost everything. ACID compliance by default.

Alternatives tried

MySQL (fine but Postgres is better), SQLite (great for embedded)

Verdict

Start with Postgres, only leave if you have a very specific reason.

Prisma

ORM that doesn't get in the way.

+

Why

Schema-first development. The type generation means runtime errors at query time become TypeScript errors at compile time.

Alternatives tried

Drizzle (lighter, faster), raw SQL (sometimes the right call)

Verdict

The DX is excellent. Migrations are easy. I keep coming back.

Apps4

Raycast

Replaced Spotlight. Snippets, clipboard history, window management.

+

Why

Clipboard history alone saves me 20 minutes a day. Snippet expansion with variables is underrated. Extensions for everything.

Alternatives tried

Alfred (good but expensive), Spotlight (too limited)

Verdict

The single app I miss most on other machines.

Obsidian

Notes. Local-first, Markdown, linked thinking.

+

Why

Local files mean I own the data. Graph view is occasionally useful. The plugin ecosystem is enormous. Works offline always.

Alternatives tried

Notion (powerful but cloud-only), Logseq (similar but different UX)

Verdict

Set it up once properly and it becomes invisible — which is the goal.

Figma

Design. Sometimes I draw things before I build them.

+

Why

The collaborative editing and component system are best in class. Auto-layout finally makes responsive design approachable.

Alternatives tried

Sketch (Mac-only, worse collab), Penpot (open source, improving)

Verdict

The industry standard for a reason. Pricey but nothing else is as good.

TablePlus

Database GUI. Clean and fast.

+

Why

Instant connection, clean UI, good query editor. Native app performance. Works with Postgres, MySQL, SQLite, Redis.

Alternatives tried

DBeaver (free but heavy), pgAdmin (powerful but ugly)

Verdict

Worth every penny. I use it daily.

Books I recommend4

The Pragmatic Programmer

Thomas & Hunt. Reread it every couple of years.

+

Why

The advice is almost entirely non-language-specific. Principles like DRY, tracer bullets, and broken windows apply to every codebase.

Verdict

Essential. The 20th anniversary edition is updated but the core is timeless.

Thinking in Systems

Donella Meadows. Changed how I see everything.

+

Why

Systems thinking is a mental model that applies to codebases, organisations, ecosystems, and economies. Reading it once changes how you look at everything.

Verdict

One of maybe 5 books I'd recommend to anyone, not just engineers.

A Philosophy of Software Design

John Ousterhout. The best book on software complexity.

+

Why

Tackles the question most books avoid: what actually makes software complex, and how do you fight it by design?

Alternatives tried

Clean Code (good but opinionated in bad ways), The Clean Architecture

Verdict

Short, dense, full of insight. Disagree with some of it, which is also good.

Designing Data-Intensive Applications

Kleppmann. The distributed systems bible.

+

Why

No other book explains databases, messaging, stream processing, and consistency with this level of clarity and depth.

Verdict

Required reading before you design anything at scale. Or after, to understand what went wrong.