In this post, I'm excited to share my ultimate coding and productivity setup. This includes a selection of hardware and software that I find indispensable for efficient and comfortable coding. From my MacBook Pro M3 to my carefully chosen peripherals and applications, every element of my setup is chosen for its functionality and ergonomic benefits. Let's delve into the specifics of what makes my coding environment both productive and enjoyable.
Equipment
MacBook Pro M3
The heart of my setup. With its powerful M3 chip, the 16' MacBook Pro offers outstanding performance for coding and multitasking. Its portability and reliability make it my go-to choice for software development.
Logitech Essentials
Ergonomics meets aesthetics. I adore Logitech for their robust, ergonomic designs.
The MX Master series keyboard from Logitech is an excellent choice in terms of ergonomics, especially for those who work daily on both Mac and Windows. It features dedicated key sets for both operating systems, making switching between platforms smooth and hassle-free. The keyboard offers a pleasant key travel, providing a satisfying sound while typing. It's backlit, which aids in typing under low light conditions. Additionally, you can download software to customize various shortcuts, further enhancing productivity. This keyboard is ideal for those seeking comfort and efficiency in their daily work.
The MX Master Vertical mouse from Logitech significantly improved my comfort in using a mouse. With a normal mouse, extended use can lead to wrist strain, potentially causing discomfort or pain. The vertical design of this mouse alleviates this discomfort. Additionally, it features several programmable buttons which can be assigned various actions through Logitech's software. I highly recommend it to anyone who spends long hours at a computer, not just for its functionality but also for wrist health considerations.
The Logitech C920 HD PRO WEBCAM is perfectly adequate for daily meetings, offering very good call quality. Its built-in microphone effectively captures sound, ensuring clear audio during conversations. Additionally, the webcam includes a privacy shutter, which is useful for ensuring you're not seen during meetings when you choose not to be. This feature enhances security and privacy, making the webcam a reliable choice for professional and personal use.
Monitors
LG Ultrawide Curved Monitor 34" as my main monitor, and a Dell Secondary Monitor. The expansive LG display is a game-changer for coding, allowing me to view more simultaneously. Its ultrawide curvature immerses me in my work, while the Dell monitor acts as a reliable sidekick.
I-tec HUB
This Itek docking station connects two monitors, a webcam, a mouse, and a keyboard, creating a seamless integration of all my peripherals with my MacBook Pro.
Lightings
Philips Hue White and Colour Ambiance Play - these lights create an ambient glow behind my monitors, perfect for night-time coding sessions. They add a touch of mood and style to my workspace.
Browser Extensions
I choose Chrome for its speed, reliability, and extensive extension library. It's integral to my web development process.
React Developer Tools
is a must-have for debugging and optimizing React applications to inspect React components, edit props and state, and identify performance problem.
Grepper
is a query and answer system designed for coders. It allows users to save and access code answers easily. After searching for a code problem on Google, users can use Grepper to save the solution, making it readily available for future reference. The platform also features a community aspect where users can contribute, vote on, and earn from public answers. Grepper supports a wide range of programming languages and is available as a browser extension, enhancing developers' productivity and learning.
Flonnect
is a free premium screen and webcam recorder tool for PC that lets you record and download your screen recordings with clear audio quality.
JSONVue
is a browser extension designed to enhance the viewing and interaction with JSON data within the browser. It formats JSON data displayed in the browser into a more readable and structured format.
Daily.dev
I really enjoy using the Daily.dev plugin to stay updated with the latest news and updates from the world of programming. I believe it's a must-have for any developer looking to stay current with programming information and more. Besides providing the latest news, it's great for discovering new technologies and trends, learning from diverse sources, and saving time by having all relevant news in one place. This tool helps me stay informed and connected with the global developer community.
GoFullPagePlugin
Essential for capturing full-page screenshots.
Code Editor plugins
For coding I use Visual Studio Code because it's lightweight, customizable, and packed with features. The ideal editor for coding, with support for a multitude of languages and frameworks.
Github Copilot
GitHub Copilot is an AI-powered coding assistant that helps in writing code faster by providing suggestions. While it's not perfect, it significantly speeds up the coding process by offering relevant code snippets and completions. It's trained on a vast range of codebases and can assist in a variety of programming languages and frameworks. GitHub Copilot also learns from your coding style and adapts its suggestions accordingly, making it a valuable tool for both experienced developers and beginners looking to enhance their coding efficiency.
GitLens
GitLens is a fantastic extension for Visual Studio Code that I find incredibly useful. It supercharges the Git capabilities built into Visual Studio Code. What I love about GitLens is how it effortlessly integrates into the VS Code interface, providing inline annotations in the code, showing who, why, and when the code was changed. This makes understanding and navigating through the history of a project much easier. Additionally, GitLens offers powerful features like code authorship highlighting, detailed commit insights, and much more. It's an indispensable tool for anyone working with Git, enhancing the overall coding and repository management experience.
Headwind
Headwind is an opinionated Tailwind CSS class sorter for Visual Studio Code. It enforces consistent ordering of classes by parsing your code and reprinting class tags to follow a given order.
Prettier
Prettier is a fantastic tool for maintaining a consistent code style in projects. I really appreciate how it automatically formats code to ensure that everyone on the team is adhering to the same style guidelines. This is particularly beneficial in collaborative environments, as it reduces the time spent on discussing style preferences and focusing on the actual code logic. Prettier supports many languages and integrates well with most code editors, making it a versatile and essential tool for modern development workflows. It truly streamlines coding by taking care of formatting, allowing developers to concentrate on writing quality code.
Auto close tags
After typing in the closing bracket of the opening tag, the closing tag will be inserted automatically.
Tools
Homebrew
Homebrew is a package manager for macOS (and Linux), widely used by developers. It simplifies the process of installing, updating, and managing software packages on macOS, making it easier to set up a development environment. With Homebrew, you can quickly install tools and applications that aren't available in the Apple App Store, or that require more control over installation options. It uses simple commands and has a large, community-driven repository of "formulas" (packages), making it an essential tool for developers working on macOS.
Iterm2
I use iTerm2 in combination with Oh My Zsh (available at ohmyzsh), which greatly enhances the terminal experience with a rich set of features. I also utilize several plugins to boost productivity and ease of use. These include the Git plugin for efficient version control, Colorls (colorls) for adding color to the ls
command, Zsh Autosuggestions (zsh-autosuggestions) for intelligent command completion, and Zsh Syntax Highlighting (zsh-syntax-highlighting) for visually distinguishing commands and text. These tools collectively transform the terminal into a more powerful and user-friendly interface.
Magnet
Magnet is a window management application for macOS. It allows users to organize and manage windows with keyboard shortcuts, snapping windows into organized tiles, which significantly enhances multitasking and screen real estate management.
Spark email
Spark app is a modern email client that stands out for its smart email prioritization and organizational features.
It intelligently categorizes emails into personal, notifications, and newsletters, helping users focus on the most important messages.
Spark also offers a collaborative email experience, allowing teams to discuss and draft emails together in real-time.
Its customization options, including the ability to snooze emails and send later, along with powerful search functionality, make it a comprehensive tool for managing email efficiently, especially for professionals and teams looking for an advanced yet user-friendly email solution.
Notion
I use Notion as my "second brain" for organizing my thoughts, knowledge, and work. It's an all-in-one workspace that's perfect for taking notes, compiling information methodically, and managing tasks. This system helps me quickly access stored information, streamlining my workflow and enhancing productivity. Notion's highly customizable interface is ideal for tailoring my workspace to fit my specific needs and preferences.
Endel
Endel creates personalized sound environments to boost focus, relaxation, and sleep. Its algorithmically generated soundscapes are designed to adapt to user inputs like time of day and heart rate.
Todoist
Todoist is a task management app that helps you create, manage, and prioritize tasks and projects. It's known for its simplicity, flexibility, and powerful organization features, suitable for personal and professional use.
This setup is the culmination of my experiences and preferences in creating an effective and enjoyable coding environment. Each component, from the hardware to the software, is integral to my daily workflow.