Skip to main content

Tools that I use as a developer for productivity

Tools that I use as a developer for productivity
Photo by Julian Hochgesang on Unsplash

It’s been a while since I last wrote or posted anything here, mostly because I’ve been busy this past year and focusing on taking some personal time. Now that I’m back, I’m not entirely sure if I’ll be posting regularly, but I felt inspired today to share some macOS productivity tools that I find incredibly useful in my daily developer life. And the best part? They are 100% free.

Shottr

If you’ve ever used CleanShot, this is very similar, except you don’t have to pay a dime. It lets you take screenshots with style—you can easily draw circles, add text, and annotate on the fly. Plus, the screenshot you take can stay sticky on your screen so you don’t lose track of it, and it automatically copies to your clipboard so you can just hit Cmd + V to paste it instantly.

Espanso

This one is a text expander that saves your frequently used text snippets. For example, if I type :lgtm, it automatically expands into “looks good to me.” The configuration is done via YAML, it supports packages, and you can even set up dynamic placeholders, which makes it really fun for devs to tweak. I use it at work to save common phrases and sentence structures, so I don’t have to type everything out from scratch. It saves a ton of time once you get the hang of it. I am currently exploring possibilities of having an emmet style auto complete for SwiftUI codes.

BetterDisplay

I’m currently using the free plan, and it has been working flawlessly for me. For anyone using a dual-monitor setup like me, this tool lets you adjust your external monitor’s brightness directly from your Mac. It seamlessly adjusts the brightness of whichever display is currently active.

HammerSpoon

A powerful macOS automation tool. The config is written in Lua, which is pretty straightforward (and if you don’t know how to write it, you can always just ask AI to do it for you). It essentially lets you bind hotkeys to control individual macOS apps and trigger custom actions. For example, I set up a hotkey to toggle whether the iOS simulator stays on top (stay on top enable/disable). So whenever I need the simulator to float over my windows, I can do it easily with a shortcut. I also use a hotkey to switch focus between my laptop screen and my external monitor. If the current active focus is the laptop, pressing the hotkey jumps to the external monitor, and pressing it again brings it back. I set this up because I really hate having to reach for the mouse just to switch screens.

Lazygit

I haven’t used a GUI Git client in ages and have been using the CLI instead. Lazygit makes working with Git incredibly fast, especially if you already know Vim motions. If you pair it with a custom diff pager, it’s absolutely top-tier. It also does a fantastic job of visualizing Git worktrees. Explaining this one in detail would take up a whole separate post, so I’ll just leave it at that for now.

Gh dash

I use GH dash right alongside Lazygit. It allows you to handle PR reviews straight from the terminal without ever needing to open the GitHub web UI—everything is right there in one place. You can also write configs to set up custom tabs for filtering PRs exactly how you like.

Raycast

I’m still on the free plan for this, and while almost everyone probably knows about it by now, the ability to add custom plugins is a game-changer. I use it for everything—from searching Jira tickets using JQL to using a built-in color picker. It’s just incredibly convenient.

Maestro Studio

If you have tedious workflows or interactions while developing, you can script them with this tool and just sit back and watch it run. It runs perfectly on your local machine and can be shared for Android or mobile web testing. Simply put, it’s like UI testing, but I prefer it because it’s way easier to use and set up than Appium.

Aerospace

As far as window managers go, this one isn’t bad. Though lately, since I configured custom layouts in Hammerspoon and use Raycast’s left/right commands, I haven’t been using it quite as much.

Ghosty

For my terminal, I used to use iTerm2, but I’m a big fan of Mitchell Hashimoto. When he started working on this and everyone started talking about it, I made the switch. It’s pretty solid. I’m not a super heavy terminal user, so the performance difference isn’t massively noticeable for me, but it feels great.

Television

This CLI tool is pretty neat. It makes searching for files and code incredibly fast. Even if you have no idea which file you’re looking for, as long as you remember a tiny snippet of it, it does a great job of tracking it down.

Until next time!