This page lists the things that I use in my daily life. It is not exhaustive by any means. I only include things that I think are noteworthy. This page also serves as a my personal reference as well, in case I need to redo my setup in the future OR upgrade in the future.


Computers 🖥️

  1. Windows 10 PC

    • CPU: Intel i5-12400
    • Memory: 64 GB DDR4
    • SSD: Samsung EVO 970 Plus

    This PC started off as my gaming PC to unwind after work. In mid 2022, I decided to upgrade it and run Ubuntu in WSL2 on it. My development workflow involves running a lot of Docker containers and running them on Mac wasn't a pleasant experience. I now run Docker on this PC with WSL2 backend, while still mostly writing code on my MacBook via SSH. I wrote about how to go about setting it up in wsl2-as-devbox.

  2. MacBook Pro 2020 - i7 32GB/1TB

    This is the MacBook that I've been developing with. It is plenty fast for web development, until you need to run Docker on it. I spent the extra money to get 32GB/1TB for future-proofing. Now that I have Docker running on my PC, I might just get a less powerful laptop next time I replace my laptop.

Displays 📺

I am using a 27-inch Dell as my primary display and a 21-inch Acer as a secondary. I really like the Dell as it can connect to my Mac via USB-C, which makes things easier. It also acts as an USB hub when connected this way.

Software 📋


I use iTerm2 on Mac and Windows Terminal on my Windows PC. Both are set up with Oh My Zsh just because it comes with some quality of life improvements out-of-the-box, 2 of my most favorite one being git aliases and not having to type cd everytime 😄.

I don't have a lot of customization in the .zshrc file, here is the addition I have to the default .zshrc:

# Adds docker-compose plugin
# Allows for aliases like: dce, dcup, dcdn, dclf, etc.
plugins=(git docker-compose)

# Aliasing gpuo because I find myself doing this quite often.
alias gpuo="git push -u origin"

# Customizing prompt so I know I am currently in an SSH session in my WSL2 instance
# I only do this on my WSL2 instance
PROMPT="%{$fg[green]%}%n@%{$fg[cyan]%}%m%{$reset_color%} ${PROMPT}"

# Adding paths to the binaries I use

# nvm (should be added automatically by nvm on install)
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/" ] && \. "$NVM_DIR/"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

# go
export PATH=$PATH:/usr/local/go/bin
# yarn
export PATH="$PATH:$(yarn global bin)"

Code editor

I use Visual Studio Code. Unfortunately I just never got into using Vim 😅

VSCode has excellent SSH and WSL support which makes everything very seamless even when coding from different computers. One day, I might even set up VSCode server so I can code from my iPad.

Some extensions that I install on VSCode:

  1. ESLint
  2. Docker
  3. Prettier
  4. GitHub (yes, the deprecated one)
  5. GitLens
  6. Remote - SSH
  7. :emojisense:
  8. styled-jsx, when I am working on codebase that uses it
  9. Tailwind CSS IntelliSense, also when I am working on codebase that uses it

Web browsers

I use Chrome as my primary web browser. On Mac, I also use Arc, a browser by The Browser Company for web sites/apps that I tend to keep open for a longer time. I tweeted about how I am using Arc a while back.

Some notable web apps

  1. Notion, for note-taking and personal journal.
  2. GitHub, I have a private repo named growth on GitHub where I put technical things that I plan to learn/do for self-improvement.
  3., the scheduling infrastructure that I use on /chat.
  4., various handy tools for web development.

Some handy Mac apps

  1. Pandan, I use Pandan to alert me every 20 minutes, after which I will take a short break to avoid me sitting and staring at the computer for too long.
  2. Hand Mirror, a handy app to give myself a quick access to the webcam.
  3. Gifox, my go-to app to record a short GIF.
  4. Cron, a simply better calendar experience (also available on Windows!)