My setup. Only stuff I actually use.
I'll be straight: most “uses” pages are aspirational. People list gear they bought once and forgot about. This isn't that. Below is what I open every day, what it replaced, and what I'd notice immediately if it disappeared.
If something here stops being true, it stops being on this list. That's the whole rule.
Hardware
Honestly? Just two things. I've been told I should “invest in my setup” for years. But every time I tried, the new gear didn't change the work. The work changed when I got better at thinking, not when I got more screens.
- MacBook Air 15″, M3, 16 GB My only computer. Fans never spin because there are no fans. Battery lasts a full day of Figma. I keep waiting to outgrow it. Three years in, I haven't.
- iPhone 14 Pro My only phone, my only camera, my only second screen. I use it for client calls, reference photos, reading drafts on the couch, and as the webcam my MacBook should have had.
That's the whole list. No external monitor. No mechanical keyboard. No mouse. The MacBook's built-in trackpad and keyboard are good enough. Saying “good enough” out loud helped me stop chasing.
Design
- Figma Where the system lives. Variables first. Components only after a token contract is locked. I don't use auto-layout for layout. I use it for logic.
- Linear For thinking out loud, not just for tracking tickets. Cycles beat sprints. The keyboard shortcuts are why I stayed.
- Tot Seven dots. Seven scratch documents. Anything that doesn't deserve a Linear ticket lives here for ~24 hours, then disappears. It's freeing.
- Eagle My reference library. Around 12,000 screenshots, all tagged. The reason I can find “that 2019 Stripe checkout footer” in eight seconds.
Code
- VS Code, no theme Default light/dark. Default font. Just ESLint and Prettier. I keep it boring on purpose — a fancy editor distracts me.
- Claude Code For the work I'd otherwise procrastinate on. Token validators, sitemap generators, RSS scaffolds. It's a calm pair, not a magic wand.
- Ghostty Replaced iTerm2. Faster, simpler, no config bankruptcy.
- Static HTML + ES modules No build step on this site. Frameworks have ~3-year half-lives. HTML has ~30. I picked the longer half-life.
- Netlify Deploys in under 30 seconds. Free tier is honest. I'll move to Cloudflare Pages soon for the carbon footprint.
Typography & tokens
- Instrument Serif For headings. The italic doesn't look defensive. Free, via Google Fonts.
- Geist · Geist Mono Body and code. Vercel's sans is finally good enough that I stopped reaching for Inter by default.
- OKLCH everywhere No HEX. No HSL. OKLCH is perceptually uniform — same lightness number means the same visual weight, regardless of hue. It caught a 3.30:1 contrast bug for me last week.
Habits
- Two timezones in the menu bar Jakarta plus the timezone of whatever team I'm on this quarter. Saves me about one Slack message a day. Compounds quietly.
- Hyperkey on Caps Lock ⌃⌥⇧⌘ on a single key. Window snapping, reference search, theme toggle. Costs nothing once it's muscle memory.
- A daily “close everything” ritual 8pm: every editor, every tab closed. The next morning starts on a blank screen. Reopened sessions are a tax on tomorrow's judgment.
- A short walk before any new file Ten minutes. No phone. By the time I sit down, I usually know what I should design — and what I shouldn't.
A tool earns its place by being missed when it's gone, not by being impressive when it's present.