My 2026 Mac App Stack
Ten Mac apps I use every day as a developer — terminals, editors, databases, translation, screenshots. Each one earned its place.
- Author
- Henry Chen
- Published
- 14 April 2026
- Reading
- 8 min read
- Views
- 6 views
- Updated
- Apr 2026

I've been developing on Mac for a few years now, and the toolset has gone through many iterations. What I've settled on in 2026 is the stack I actually use every single day — no filler, no "top 100" lists. Just ten apps, each irreplaceable for a reason.
Ghostty — Terminal
Ghostty is a terminal emulator written in Zig by Mitchell Hashimoto (founder of HashiCorp). It's fast — GPU-accelerated rendering, near-instant cold start. Configuration is dead simple: one ~/.config/ghostty/config file, no YAML/TOML/JSON debates.
I switched from iTerm2 and never looked back. iTerm2 is feature-rich but slow to launch and complex to configure. Ghostty takes the opposite approach — it does less, but everything it does is polished. Native macOS rendering, perfect font fallback, decent splits.
A terminal should get out of your way. Ghostty does exactly that.
Zed — Code Editor
Zed is the editor built by the original Atom team, rewritten in Rust. It opens instantly and handles large files without stuttering — that alone is a win.
I use Zed for most lightweight editing: quick config changes, reading logs, writing Markdown. VS Code is still around for its plugin ecosystem (Remote SSH, language-specific debuggers). But for the "open a file, change a few lines" workflow, Zed is significantly faster.
Real-time collaborative editing is a core Zed feature, though I haven't used it much. The AI integration is solid. Built-in terminal, file tree, and search all work well. It's a modern editor without the bloat — everything you need, nothing you don't.
Warp — AI Terminal
Wait — why another terminal when Ghostty exists?
Because they solve different problems. Ghostty is a pure terminal emulator — fast and stable. Warp is a terminal-IDE hybrid. Its input area is a real editor with free cursor movement, multi-line editing, and command history search. Each command's output is an independent block that you can collapse, copy, or scroll through without it bleeding into surrounding context.
I use Ghostty for long-running processes (dev servers, docker compose) and Warp for interactive work (git, debugging, ad-hoc scripts). They complement each other well.
Warp also has AI-powered command explanation and generation. I don't use it often (Claude Code handles that), but it's handy when I forget some obscure ffmpeg flag.
DataGrip — Database IDE
DataGrip is JetBrains' database IDE. At work I connect to SQL Server 2025, personal projects use Supabase (PostgreSQL) — DataGrip handles both in one tool.
SQL autocompletion, schema visualization, query result export, simultaneous multi-source connections — these features sound standard, but DataGrip's completion quality is the best I've used across any database tool. It genuinely understands your schema, not just keyword matching.
The only downside is the classic JetBrains problem: memory consumption. But for database work, there's no better alternative. DBeaver is free but noticeably rougher.
Typora — Markdown Editor
Typora is a WYSIWYG Markdown editor, and it's been my go-to for long-form writing.
Many people say "VS Code / Zed can do Markdown too," and they can — but the experience is completely different. Typora's live preview isn't a split pane; it renders inline right where you type. You never get pulled out of your writing flow by syntax symbols.
I use Typora for blog drafts, project docs, and meeting notes, then copy the content into MDX files. Maybe it's an "extra step," but for writing, how a tool feels matters more than raw efficiency. Typora feels the best.
Drag-and-drop images, table editing, theme customization, PDF export — it has everything and remains rock-solid stable.
PDF Expert — PDF Reading & Annotation
PDF Expert is the best PDF tool on macOS, period.
Preview.app handles basic viewing, but the moment you need annotations, signatures, text editing, or file merging, it falls short. PDF Expert launches fast, renders accurately, and has a complete annotation toolkit. I use it daily for technical docs and papers — the highlight + annotate workflow is seamless.
Form filling and signing are also frequent use cases. Much lighter than Adobe Acrobat, and reasonably priced (one-time purchase).
Docker Desktop — Containers
Docker Desktop needs no introduction. When local development requires databases, message queues, or various services, Docker Compose handles it in one command.
My main uses:
- Running PostgreSQL, Redis locally
- Testing multi-service architectures
- Reproducing production environment issues
Docker Desktop's performance on macOS has long been criticized (it runs a Linux VM under the hood), but recent versions have improved significantly. VirtioFS makes bind mount speeds acceptable.
OrbStack is a lighter alternative, but Docker Desktop works well enough for me, and its VS Code Dev Containers integration is more mature.
Raycast — Spotlight Replacement
Raycast is the first app I set up on any new Mac. Once installed, I never open Spotlight again.
Why Replace Spotlight
Spotlight's problem isn't that it's broken — it's slow and imprecise. App search rankings are often wrong, and file search is even worse. Raycast's fuzzy matching is fast and accurate — two or three characters and you're at the app you want. But Raycast isn't just a launcher — it's a programmable command palette that replaces a whole collection of standalone utilities.
I bind Raycast to Cmd+Space, completely replacing the system Spotlight.
Snippets — My Most-Used Feature
Snippets is the Raycast feature I use the most. The concept is simple: define a keyword that auto-expands into full content when typed.
My commonly used Snippets:
| Keyword | Expands To | Use Case |
|---|---|---|
;phone | My phone number | Forms, account signups |
;email | Primary email address | Logins, contact forms |
;addr | Home address | Deliveries, registrations |
;waddr | Office address | Work-related forms |
;card | Bank card last 4 digits (never full number) | Reminding myself which card to use |
;sig | Email signature | Writing emails |
;zoom | Zoom meeting link | Scheduling meetings |
I type this information multiple times daily. Before Snippets, it was either manual typing or copy-pasting from Notes. Now ;phone expands instantly, and it works in any application.
You can also use it for code templates (e.g., ;log expanding to console.log()), but I personally leave code completion to my editor and Claude Code. Snippets are for personal info and frequently used text.
Clipboard History — Never Lose Copied Content Again
macOS's native clipboard only keeps the last item. Copy some code, then copy a URL, and the code is gone.
Raycast's Clipboard History solves this:
- Unlimited history: Everything you've ever copied is retained — text, images, files
- Search:
Cmd+Shift+Vopens the history panel, search by keyword instantly - Pin: Pin frequently used items for quick access anytime
This feature sounds simple, but once you've used it, there's no going back. Especially during development when you're constantly copying between multiple code snippets — history means no more switching back and forth between windows.
Other Useful Features
- Window management: Hotkeys to snap windows left/right/fullscreen — no need for Magnet or Rectangle
- Calculator: Quick math right in the search bar, with unit conversion and exchange rates
- Plugin ecosystem: Jira, GitHub, Linear, Notion all have quality community plugins
The free tier covers 90% of use cases. The Pro AI features are nice but not essential.
Shottr — Screenshots
Shottr is a lightweight screenshot tool.
macOS's built-in screenshot (Cmd+Shift+4) works, but Shottr adds several key features:
- Scrolling capture: Full-page screenshots of long webpages or conversations
- Annotations: Arrows, boxes, text, blur — annotate immediately after capture
- OCR: Extract text from screenshots instantly
- Measurement: Pixel distances, color picking — great for UI development
- Pin to screen: Pin a screenshot on top of everything for easy reference
Free, lightweight, native macOS feel. CleanShot X has more features but costs money. Shottr hits the sweet spot for me.
Bob — Translation
Bob is a macOS translation tool that supports text selection translation, screenshot translation, and manual input translation.
As a developer who constantly switches between Chinese and English, Bob is essential. When reading English docs and hitting an unfamiliar term, just select the text and the translation appears — no need to switch to a browser and open Google Translate.
Bob's strength is its multi-source support: it can display results from DeepL, OpenAI, and Google Translate simultaneously, letting you compare which translation is most accurate. I currently use a DeepL + OpenAI combination.
Screenshot translation is also practical — when encountering text in images (UI screenshots, scanned PDFs), just capture the area and it translates directly, no manual typing needed.
Summary
These ten apps cover every aspect of my daily development workflow:
| Use Case | Tool |
|---|---|
| Terminal | Ghostty (pure) + Warp (interactive) |
| Code editing | Zed (lightweight) + VS Code (heavy-duty) |
| Database | DataGrip |
| Writing | Typora |
| PDF Expert | |
| Containers | Docker Desktop |
| Launcher | Raycast |
| Screenshots | Shottr |
| Translation | Bob |
My principle for choosing tools: solve one problem, and solve it completely. I don't chase feature-packed or trendy. If I've used something for over a year without switching, it's worth recommending. All ten of these qualify.
Keep reading
Journal — DevGhostty + Tmux: One Tab Per Project, One Pane for Claude, One for the App
How I use Ghostty tabs as project slots and tmux as the split manager — why tabs stay visible, why splits live in tmux, and the config choices that make eight projects open at once stop feeling like eight projects open at once.
7 min read · 22 AprAIThree Ways to Run Claude Code in Parallel
Worktrees, agent teams, and in-conversation subagents — when to reach for each, how they actually work under the hood, and the tradeoffs I've hit using them day-to-day.
7 min read · 16 AprAIHow I Set Up Claude Code as My Daily Development Companion
A walkthrough of Claude Code from the ground up — what it is, how configuration scopes work, and the rules, plugins, hooks, auto memory, and CLI glue that make it click for day-to-day engineering work.
18 min read · 14 Apr