A Deep Dive into My Remote Development Setup
I built Ferryman to solve a simple problem: manual cross-posting is low-leverage work that drains your time. With 10,500+ posts ferried for 380+ users, the system is proven to help you grow on all your socials with zero extra effort. Start scaling your reach automatically. Use code “BREAKSTUFF” for 30 days free of the Creator plan.
Before we take a look at my setup, here’s why this setup has served me well over time:
Immense Peace of Mind: If my laptop is stolen, lost, or broken, I don’t lose anything because my real work lives on a VPS (Virtual Private Server).
Hardware Agnostic: My laptops, desktop, and phone all act as thin clients.
Production Native: You get to use the exact environment you actually deploy on.
Zero Friction: I can switch between devices seamlessly and pick up the exact same files and sessions.
Moving to a remote first setup is one of the best decisions I’ve ever made. Here’s exactly how my remote-first setup works.
Your Machine as a Portal
To understand how this functions daily, you have to look at the relationship between your local clients and the remote server.
(My setup: all my devices connecting via SSH to a central VPS )
1. Secure a Remote Machine
To start, you need a machine that is always on. I use a VPS which I’ve named boole. Because I have a handful of devices I name them after famous mathmaticians or computer scientists. When setting this up, security is the first priority. Because this machine holds your entire professional life, you shouldn’t just rely on a password.
Ideally, you should disable password authentication entirely and rely on SSH keys. By locking down the machine to only accept keys from my specific devices, you ensure that your remote machine remains private (you can also use something like syncthing to ensure that any traffic from devices outside your syncthing network are automatically rejected).
2. Connect with SSH
Because I do most of my work in the terminal with Neovim and Claude Code, SSH is my preferred way to connect to my VPS. I’ve even created a single Hyprland hotkey to quickly connect to my machine with Mod + Shift + d. This run a single command in a new terminal, ssh boole, which is understood by my ~/.ssh/config to map to the IP of my VPS.
My toolin and configuration handles everything:
Persistent Sessions: my SSH config uses
RemoteCommandto automatically attach to my existing Tmux dev session or create a new one if it doesn’t exist.Port Forwarding: I use port forwarding to be able to access services running on specific ports on the VPS on my local machine. This lets me preview web apps in my local browser as if they were running on my laptop.
3. Persistent Sessions with Tmux
Without a terminal multiplexer like Tmux, your work dies the moment your SSH connection drops.
With TMUX running on the VPS, the session lives on the server. I can be running Neovim and Claude Code on my laptop, close the lid, and walk away. Later, I can SSH back in from my phone while walking around Manhattan and find my cursor exactly where I left it and check in on the work that Claude completed in the cloud.
4. Syncthing for File Syncing
The biggest argument against remote dev is typically: “What if I don’t have internet?” I solve this with Syncthing.
Syncthing constantly mirrors my files between my client machines and the VPS in the background. If I’m on a plane with no Wi-Fi, I just work locally since the files are already there. The moment I reconnect, Syncthing auto-syncs those changes back to the cloud.
5. Disaster Recovery
Because my setup is reproducible, every machine is just a machine. I maintain a setup script that turns any brand-new machine into my meticulously curated environment in about 10 minutes.
curl -fsSL https://k2.codes/setup.sh | bash
This restores my dotfiles, nvim, tmux, and SSH keys. I SSH back into my VPS, and it’s like nothing ever happens. I run this command on any new hardware I purchase or any machine that gets wiped or fails.
Why Bother?
Above all else, tinkering is fun, but the real reward is ownership. When you understand your system because you built it, it works exactly the way you want it to. We spend so much time on our machines, they should be a joy to use.
I highly suggest giving this setup a try, my guess is that once you do, like me, you’ll never go back to local development. If you’re really interested, DM me and let me know and I’ll send you a discount code for the VPS provider I use.
Where you can find me online:
Drop a like ❤️ and comment below if you made it to the end of the article.




