← All posts

Your Side Project is Homeless. Give It a Resident Shell.

July 18, 2026 · 3 min read · The xShellz Team

You've been there. You start a long-running data import, or you fire up your AI coding agent to generate a feature, then you close your laptop to head home. The next morning you open the lid and see nothing. The SSH connection dropped, the session is dead, and you lost 90% of the work. Your laptop is a terrible home for a side project. The fix is treating your development environment as a resident shell, a persistent remote Linux machine that doesn't care when you close your lid.

The Laptop Ceiling

Local machines sleep, disconnect, and run out of battery. Running background tasks on your laptop demands you keep it awake, active, and connected. Even then, a single network hiccup can kill an SSH session. And environments drift: you set up a project differently on your work machine than your personal laptop. It's fragile.

The Resident Shell

A resident shell is just a remote Linux box that is always on and you SSH into it. Install tmux or screen, start a long-running command, detach, and walk away. That box stays up, running your processes. You can reconnect from any machine: your desktop, a tablet, a phone. The environment is there, exactly as you left it.

Jobs That Finish While You Sleep

I used to babysit web scraping jobs that ran for hours on my laptop, afraid to close the lid. Now I SSH into my server, start the scraper inside a tmux session named "scraping", detach, and go to bed. In the morning I reattach, see the logs, and the data is ready. Same for training a small ML model, running a big test suite, or converting a video. All the compute happens off your laptop.

AI Agents Deserve a Permanent Address

If you're using borg, Claude Code, or any terminal AI agent that generates and edits code, you know it can run for many minutes or even hours. A local terminal will lose the connection if your laptop sleeps or your Wi-Fi drops. Move the agent to your resident shell. Start borg there, set it on a task, detach, and let it grind. You come back later, everything is still there. Your agent's context stays intact.

One Environment, Zero Drift

Your resident shell has a fixed OS, your dotfiles, your installed tools, your project dependencies. You don't need to recreate it on every machine. Use etckeeper or a dotfiles repo to track config changes, but the runtime is stable. When you SSH in, you're in exactly the environment where the project works. No "it works on my machine" surprises because that server is the machine.

Setting Up Your Own

You can rent the smallest VPS for a few dollars a month. Choose a Linux distro you like, set up SSH keys, install tmux/neovim/git/docker. Then clone your projects and run them there. Some developers even use a dedicated shell hosting service that provides a preconfigured resident shell with extra goodies like IRC bouncers and always on AI agents. xShellz, for example, has plans that give you a persistent shell where you can run borg 24/7 so your agent never loses its train of thought. That's handy, but even a vanilla Debian box will transform your workflow.

The Small Change That Pays Off

The friction of moving a side project from your laptop to a server is tiny: git push, clone on the server, run tmux new -s project, and you're off. The returns are big: no more lost work, no more "my laptop is in sleep mode" panic. Your side projects get a real home, and you get to treat your laptop as a thin client again.

Give it a try. Your next long-running task will thank you.