On Using Computers
I remember figuring out the shortest routes to class first semester of college. The lowkey flex of "I know a quicker way" never saved much time, and yet it felt fun to explore campus through these mildly competitive treks.
I approach my computer the same way. The shortcuts, the key-binds, the new apps – it's rarely about saving time. It's about having fun.
Last week, I had a daily average screen time of 17 hrs. Though mildly concerning, it's safe to assume that I love computers and the internet. I've been hooked since I was 6 y/o playing Facebook games on my mother's account.
Most of the applications I'll be talking about aren't necessary, but I think everyone has something to gain from rethinking how they use their computer.
Every week I'm tweaking something new – remapping keys, testing a new Sindre app, finding keybinds. The setup is never "done." Same as those campus routes – the exploration is the point.
Core Principles
I follow a few basic principles:
- Window Management: you want to consistently keep everything in the same place (approximately).
- Automating Workflows: if you do an action a few times daily, you should look for a shortcut/automation for it.
- Keyboard > Mouse: 9 times out of 10, using your keyboard is faster than your trackpad/mouse.
Window Management
I like to think of my computer as my bedroom. It doesn't have to be perfectly clean all the time, but I should always have L1 cache access to whatever I want. It's not about saving time, it's about efficiency: your brain shouldn't be interrupted hunting for apps.
You shouldn't need a mental map of where every app, tab, and file is either. Rather, you should have a framework that guides you to whatever you need. Your setup should facilitate your work – not the other way around. You shouldn't be the one babysitting windows and hunting for apps
For example, I have key-binds set as follows:
⌥ + 1
: Helium (browser)⌥ + 2
: Obsidian (notes)⌥ + 3
: Terminal w/ Neovim booted (IDE)⌥ + 4
: Finder
Additionally, I have Yabai set up, which automatically opens 8 spaces when I log into my computer and moves applications to the following:
1
: Work (Helium, Obsidian)2
: Social (iMessage, Discord)3
: Music (Spotify)4-6
: N/A (Misc.)7
: To-do (Godspeed)8
: Logistics (Calendar, Mail, Slack) And I can switch to different spaces with^ + X
whereX
is the # of the space.
Snapshot of my Mac spaces, never knew they existed until 1 month after getting my laptop.
This setup automatically clusters applications by "category" in a way that I've become used to. This allows me to access almost any application I'm interested in through quick key-binds. Though Yabai makes this a lot easier, it has a steep learning curve. You could achieve a similar result without it:
- Go to
Settings > General > Login Items & Extensions
- Add all relevant applications that you access often so they open on boot up
- Every time you boot up your Macbook: hit
F3
, create necessary spaces, drag and drop your applications to each space - Go to
Settings > Keyboard > Keyboard Shortcuts
- Open
Mission Control > Mission Control
. You can then set up key-binds forSwitch to Desktop X
Beyond organizing applications across spaces, you also want to manage how windows arrange within each space. A window tiling manager automatically positions your windows in a non-overlapping grid - instead of manually resizing and moving windows, it handles the layout for you. Though MacOS has basic window snapping if you right-click the full-screen button, I recommend Rectangle to add keyboard shortcuts for manual arrangement. If you come from Linux, you might know Hyprland or i3, which are automatic tiling managers. Yabai is similar but integrates with macOS spaces - new windows slot into the grid automatically, and you navigate entirely via keyboard.1
MacOS's default window tiling manager
Automating Workflows
With how accessible tools like Lovable and Raycast are, there is no excuse to get an automation up and running in <30 mins. From my experience, I believe this is the best use for vibe coding: simple internal tooling to automate redundant tasks.
For example, I've been using multiple sources for interview prep this cycle: Leetcode, Neetcode, InterviewDB, etc. To log my solutions in a centralized database, I've decided to create a repository where I keep them. I found the continuous copy-pasting followed by 3 git commands clunky, so I vibe coded solve-log in 5 prompts to automate this process.
Another example: I switched browsers to Helium partially because of their !bangs
system. If you're unfamiliar, !bangs
let you search specific sites directly from your address bar – type !gh react
and you're searching GitHub for React, or !w quantum mechanics
to jump straight to Wikipedia. Instead of opening a site, finding the search bar, and typing my query, I just type the bang and search term. It sounds minor, but when you're constantly jumping between documentation, tools, and resources, those saved clicks add up. The workflow becomes: think of what you need from the site/service > type it > you're there.
Reminder: automation is about reducing cognitive overhead, not just saving time. Every repetitive task requires you to remember the steps, execute them in order, and context switch between tools. Even if a workflow only takes 30 seconds, doing it 10x a day means 10 moments where your brain has to shift gears. Automation collapses these multi-step processes into single actions, letting you stay in flow. When you notice yourself doing the same thing repeatedly, that's your cue to automate it.
Keyboard > Mouse
Key-binds are oftentimes faster to use than a mouse. Most people reading this essay average 70+ WPM, which is more than enough to make browsing with your keyboard much faster than with your mouse.
For example, I often find myself drowning in tabs, even without duplicates. So, instead of restricting myself to fewer tabs, I found out that you can search through chrome tabs. The key-bind is ⌘ + Shift + A
. I also found out you can click hyperlinks/buttons on a webpage without a mouse by (1) clicking ⌘ + F
, (2) search + focusing on the text, (3) clicking Esc
, then (4) clicking Enter
.
Clicking hyperlinks/buttons without a mouse
Another example: I share files often. I found the default flow jarring: download file > open Finder > click Downloads > drag + drop file > send. However, a quick search through Raycast's extension store led me to the Downloads Manager extension, which had a shortcut for Pasting latest download. Now, my flow feels way snappier: download a file > press ⌘ + ⌥ + V
> send.
In the same vein: I switched to Neovim after realizing I was constantly reaching for my mouse in VS Code. Vim motions keep your hands on the keyboard for everything – navigation, editing, refactoring. Fair warning: the learning curve is brutal. It took me a few weeks of feeling significantly slower before muscle memory kicked in. It's the logical extreme of the keyboard-first principle, but fully worth it if you're willing to invest the time.
My Stack
With these principles in mind, I've spent a good chunk of my time on the internet optimizing for them. Here is a catalog of different tools I've used and enjoyed extensively. I'm aiming to make this as comprehensive as possible, so consider this a buffet – tinker at your own discretion.
P1
These are the applications that fundamentally changed how I interact with my computer. Each one directly supports at least two of my core principles and has become non-negotiable in my workflow. If you agree with this essay, you should try these.
Raycast: Command palette + extension platform
Quick launcher for apps, clipboard history, tab search, calculations, workflows. Extensions turn GUI apps (e.g. Spotify) fully keyboard-driven.
Key extensions: your respective browser's extension (command-palette for tabs), Raycast AI, Calendar, Spotify, 2FA Code Finder, Toothpick (bluetooth), Bitwarden, iLovePDF, and more.
First app I install on any Mac. No alternatives come close.
Yabai: MacOS window tiling manager
Enforces grid-based window layouts, auto-arranges on open, space switching via key-binds.
Alternatives: Rectangle1 (not quite a window tiling manager, but great step-up over defaults), Aerospace (better UX than Yabai, but clunkier performance since they're not using Mac spaces)
Obsidian: Markdown-based notes
Markdown makes it standardized and simple to write structured notes. Sync requires paid subscription, but worth it for stable vim writing experience.
Alternatives: Apple Notes (free sync, lightweight), Notion (bloated and unstandardized, but many love it)
Neovim (LazyVim): Keyboard-driven terminal-based IDE
Keyboard-driven coding with vim motions, no mouse needed. Extremely modular, definitely an investment if new to vim motions. Primeagen's videos convinced me to switch.
Alternatives: Athas (tried the alpha, loved it), VSC-based IDEs w/ Vim extension
P2
These applications aren't as transformative as P1, but they're reliable, well-designed tools that respect keyboard-first workflows and reduce friction in daily tasks. They won't revolutionize your setup, but they'll smooth out rough edges you didn't realize existed.
Helium: Ungoogled-chromium fork with !bang
search
Direct site search from address bar (!gh
for GitHub, !y
for YouTube, etc.). Focused on performance + privacy, won back some battery life.
Alternatives: Zen (most stable Arc replacement, not a fan of Firefox engine), Ora (alpha build on WebKit)
Godspeed: Keyboard-driven to-do list
Great iPhone widget + global hotkey for adding to-dos. Designed to be fully keyboard-driven. Very fast and lightweight.
Alternatives: Your note-taking app of choice, Todoist (one of the best global hotkeys, loved how "p1", "due tod", etc. translated to metadata)
Apple Mail: Native mail client
Lightweight, syncs my Gmail + Outlook emails well with OAuth2, and syncs between my Macbook + iPhone very well. Mostly keyboard-driven, great for inbox zero.
Alternatives: Superhuman (big fan of inbox zero-native design, but overkill for me), Thunderbird (reminds me of Linux Mint days, great and simple), Gmail/Outlook clients if all your emails can be contained in either
Apple Calendar: Native calendar client
Much like with Apple Mail, I want sync between my iPhone and Mac with a lightweight app that is keyboard-driven – checks all the boxes. Raycast extension allows me to quickly add events with my keyboard.
tmux: Terminal multiplexer
Lets you run multiple sessions, detach and reattach to them, and manage multiple panes and windows within a single SSH or local terminal.
P3
Smaller utilities and quality-of-life improvements. Each solves a specific annoyance or enables a niche workflow. Not essential, but the kind of thing where once you have it, going back feels wrong.
Oh My Zsh: Framework for managing zsh configuration
Comes with a lot of neat plugins (auto-suggestions, syntax highlighting). Alternative would be to install your own plugins and manage them yourself.
Zoxide: Smarter cd command
Remembers frequently-used directories so you can jump to them with partial matches. Type z foo
instead of cd ~/projects/foobar/src
. Works across all major shells, supports interactive selection with fzf.
Lovable: Best no-brain vibe-coding tool
Handles frontend/backend, database set-up, and hosting. Great for creating quick internal tooling and automations.
Quality of Life
Caps Lock
takes up a lot of real estate on your keyboard for an obscure action. I suggest remapping it to either Backspace
or Ctrl
– I personally switch my Left Ctrl
and Caps Lock
. I used hidutils for the keyboard remapping, but you may also use Karabiner
AltTab: better Alt + Tab
experience: window previews, custom triggers, blacklist apps
MiddleClick: emulate a scroll wheel click with 3 finger click
Hidden Bar: hide/show menu bar icons with a simple drag-and-drop interface, neat applet to reduce visual noise
BetterDisplay: non-Apple monitors have DPI issues, BetterDisplay fixes them
Pure Paste: paste pure, unformatted text by default
Command X: cut and paste files in Finder, surprised this doesn't come with MacOS by default
Like finding shortcuts across campus, optimizing my setup is never really "done." There's always another route to try, another workflow to smooth out. My computer's been my campus since I was 6, and I'm not done tinkering with shortcuts – it was always about having fun (and aura) above all else.
More on the difference between Rectangle and Yabai. Rectangle is a keyboard shortcut tool for manual window arrangement – you tell it "put this window on the left half" and it does. It's simple, reliable, and works for most people. Yabai is an automatic tiling manager that enforces a grid structure: it decides where windows go based on a binary space partitioning algorithm, and you navigate with keyboard commands. Yabai also lets you move applications between spaces via key-binds and requires partially disabling
System Integrity Protection
. If you're curious about tiling managers but not ready for the commitment, start with Rectangle. If you want your computer to automatically organize windows and you're comfortable tinkering, try Yabai.↩