Desk Setup
-
I use a PC with Windows 11 and Ubuntu as my main operating system. Usually I use Windows for gaming/college stuff and Ubuntu for my works. My PC specs are listed below:
- CPU: AMD Ryzen 5 5500
- GPU: AMD Radeon RX 6600
- RAM: Corsair Vengeance 32GB
- Storage: Klevv SSD Cras C710 NVMe 500GB (Windows) + Teamgroup SSD SATA CX2 512GB (Ubuntu) + Samsung EVO 870 1TB (Storage)
- PSU: NZXT C550 Bronze 550W
- Case: Cube Gaming Lich Black
- CPU Cooler: ID-COOLING SE-214-XT
- Motherboard: ASUS TUF Gaming B450M-Pro II (kinda regret buying this one)
-
I have MacBook Air M1 2020 as my secondary laptop. I use it if I need to work outside.
-
I have Keychron K3 as my main keyboard and Logitech Superlight as my main mouse (so good for competitive gaming).
Software
- Visual Studio Code is my main code editor. I use it mostly for web development and sometimes write markdown articles.
- In VSCode, I use SF Mono as my font and Catppuccin as my theme.
- I don’t have many extensions, so far I just use essentials extensions for web development, like formatter, linter, etc.
- I use Firefox for browsing and web development because it’s more feature-rich than Chrome (i guess).
- Currently I love using Alacritty as my terminal emulator. It’s fast and customizable.
- Inside Alacritty, I use Zsh as my shell and Oh My Zsh as my Zsh framework.
- Sometimes for light task, I use NeoVim as my text editor.
- In my MacBook Air M1, I have same software setup as my PC, with some additional software like Raycast for easily access my tools.
Tech Stack
- I use React as my main frontend library. I love how it’s easy to use and have a lot of community support.
- NextJS is my go-to framework for building React apps. It’s easy to use and have a lot of features (even it can be suck sometimes).
- For state management, query fetching or table component, I use library from TanStack.
- For styling, most of the time I use TailwindCSS, but I know how CSS works xD.
- All of my JavaScript projects always using TypeScript. To keep my code clean and easy to read.
- For backend, sometimes I use Fastify or fullstack NextJS but at my office we heavily use Golang for our backend.
- All of my projects that need database alway use PostgreSQL. I love how it’s easy to use and have a lot of features.
- For deployment, I use different approach based on my project requirements but for my personal projects, I use Vercel for frontend and Fly.io for backend.
- Most of my projects are using Docker for containerization.
- For CI/CD, I use GitHub Actions for my personal projects and GitLab CI/CD for my office projects.
- I use Sentry as my go-to error tracking tool. Sometimes in my office we use Glitchtip for our projects.
- I use Cloudflare for my DNS management and sometimes Cloudflare Workers for my serverless functions.
- For monitoring, I use Grafana and sometimes Prometheus for my office projects.
- For disclaimer, I’m not an expert in DevOps, I just know how to use it.
- In the free time, I learn mobile development with Kotlin Multiplatform