Essential Tools and Tech for My Software Development and Homelab Setup.

As an experienced software engineer with a passion for self-hosting and DIY homelab setups, I frequently receive questions about the tools, software, and gadgets that facilitate my work and hobbies. From the hardware that powers my custom-built workstation and homelab server, to the software that assists me in developing high-performing applications and managing my self-hosted environments, this is where I share my personal recommendations and favorites. I hope you find something useful here!

Workstation Build

  • Ryzen 9 5950X CPU

    The Ryzen 9 5950X provides top-tier performance for heavy computational tasks, which is essential when I am running multiple processes, coding, or compiling complex software. The 16 cores and 32 threads are beneficial in handling simultaneous tasks without any significant slowdowns.

  • Corsair iCUE H150i Elite LCD. AIO Cooler

    This All-In-One cooler is essential for maintaining optimal CPU temperatures, especially during intensive tasks. The iCUE H150i helps ensure my CPU performs at its best without any thermal throttling.

  • GIGABYTE B550I AORUS PRO AX AM4 AMD B550 Mini-ITX Motherboard

    This motherboard provides robust and stable support for all my components while providing advanced features and connectivity. Its size also allows for a compact workstation build without compromising on performance.

  • NVIDIA GeForce RTX 3080 Founders Edition GPU

    The RTX 3080 Founders Edition GPU provides excellent graphical processing capabilities, enabling me to render high-quality 3D models in Blender and run any GPU-accelerated tasks with ease. This GPU also allows for impressive frame rates and resolutions in my downtime gaming sessions.

  • Corsair Vengeance RGB Pro 64GB (2x32GB) DDR4 3600 (PC4-28800) C18 AMD Optimized RAM

    Having 64GB of high-speed RAM ensures that I can handle memory-intensive software development tasks and run multiple applications simultaneously without a hitch. It's also optimized for AMD CPUs, making it a perfect match for the Ryzen 9 5950X.

  • Dual SAMSUNG 970 EVO Plus SSD 2TB NVMe M.2

    I use dual 2TB NVMe M.2 SSDs for fast, reliable storage and to facilitate a dual-boot system between Ubuntu and Windows 11. This setup allows me to enjoy the best of both operating systems, use specific tools or environments as needed, and keep my workspace organized and efficient.

  • Louqe Ghost S1 PC Small Form Factor Case

    I chose the Louqe Ghost S1 for its small form factor, which allows it to comfortably fit on my desk without taking much room. Its minimalist design does not compromise on performance or cooling, as I equipped it with a large top hat to accommodate a full-sized AIO CPU cooler. I also added small bottom extensions to make room for 2 Noctua fans. This setup ensures optimal cooling for the high-performance Ryzen 9 CPU and RTX 3080 GPU housed within this compact case.

  • Corsair 750 Watt SFX PSU

    Powering my workstation is a Corsair 750 Watt SFX PSU. This power supply unit is compact yet powerful, perfectly suited for my small form factor build. It provides reliable and efficient power delivery to all the components, ensuring their optimal performance even under heavy workloads.

  • Noctua Fans

    These case fans provide efficient and quiet airflow, keeping all components cool during long coding and rendering sessions, contributing to the longevity and performance of the workstation.

  • Dual LG 27” IPS 4K UHD VESA HDR400 Monitors

    A dual monitor setup allows me to multitask effectively, offering enough screen real estate for coding, debugging, and viewing documentation simultaneously. The 4K resolution provides crisp visuals, essential when working with detailed graphics or 3D models. I would still probably prefer a single ultrawide monitor.

Homelab Build

  • Proxmox Virtual Environment Manager

    I use Proxmox as the virtual environment manager for my homelab. It provides a comprehensive platform for managing Linux virtual machines, self-hosted platforms, and Docker containers, making it an essential tool for my self-hosting endeavors. The project GovTrades.io python scraper, fastAPI backend, & data manipulation scripts are all self-hosted on this platform.

  • darkFlash DLH21 PC Case Mini Tower

    My homelab is housed in a darkFlash DLH21 Mini Tower, chosen for its vertical build which allows it to fit neatly on a shelf alongside my router and modem. This compact and stylish case keeps my homelab unobtrusive while providing enough room for all the necessary components.

  • GIGABYTE B450 I AORUS PRO Wi-Fi

    The motherboard of my homelab is a repurposed GIGABYTE B450 I AORUS PRO Wi-Fi, which used to be a part of my old workstation. Its continued reliability and performance make it a valuable component in my homelab setup.

  • AMD Ryzen 9 5900X CPU

    Powering my homelab is the AMD Ryzen 9 5900X CPU. Its 12 cores provide excellent processing power for running multiple virtual machines and containers simultaneously, enabling efficient deployment and testing of applications.

  • Nvidia 2060 Super GPU

    The Nvidia 2060 Super GPU, repurposed from my old workstation, provides the necessary graphics power for my homelab. Its performance ensures smooth running of any graphics-intensive applications or processes.

  • Corsair Vengeance RGB Pro 64GB (2x32GB) DDR4 3600 (PC4-28800) C18 AMD Optimized RAM

    My homelab features 64GB of Corsair Vengeance RGB Pro RAM for efficient multitasking and smooth performance, even when running multiple virtual machines and containers.

  • Noctua NH-L12 Ghost S1 Edition, Premium Low Profile CPU Cooler with Quiet 92mm PWM Fan (Brown)

    To keep my homelab running cool, I use a Noctua NH-L12 Ghost S1 Edition CPU cooler. Its low-profile design fits perfectly in my mini tower case, and its quiet operation keeps my homelab running silently.

  • Dual Seagate BarraCuda 4TB Internal Hard Drive HDD

    Storage in my homelab is handled by two Seagate BarraCuda 4TB internal hard drives. These provide ample space for all my containers, backup files, and any other data needs of my homelab.

  • Portainer

    For managing Docker services in my homelab, I use Portainer. It's a lightweight management UI that allows me to easily manage my Docker containers, images, networks, and volumes. Its intuitive interface simplifies the process of deploying and maintaining Docker services, making it an indispensable tool in my self-hosting toolkit.

Development Tools

  • JetBrains PyCharm IDE

    As a seasoned software developer, I favor JetBrains' PyCharm IDE for Python development. It provides an array of features that streamline my workflow, from intelligent code completion and error detection to automated refactoring tools. Its seamless integration with various Python libraries and frameworks boosts my productivity and simplifies complex tasks.

  • Microsoft VS Code

    I use Visual Studio Code for its versatility and powerful features. Its extensive library of extensions allows me to adapt it to any development context, including React development. The integrated terminal, debugging support, and Git commands are indispensable tools in my daily work.

  • Docker

    Docker is a key tool for creating isolated environments, making it easier to develop, deploy, and test applications. It provides consistency across multiple development and release cycles, ensuring that the application will run on any other Linux machine regardless of any customized settings that machine might have.

  • GitHub

    GitHub is my go-to platform for version control and source code management. It's an essential tool for collaboration, allowing me to work with other developers efficiently. Its features such as pull requests, issue tracking, and GitHub Actions are critical in maintaining high-quality code and continuous integration/continuous deployment (CI/CD).

  • Insomnia REST Client

    Interacting with, designing, debugging, and testing APIs is painless with Insomnia. It's an open source application that features an intuitive interface and advanced functionality such as authentication helpers, code generation, and environment variables. It's my go-to tool for API development and testing. (Postman Alternative)