Skip to content

I Run My Side Projects from My Phone with AI and a VPS

Published:

I do most of the work on my side projects from my phone.

Not just checking an error or reading a notification. I mean asking for a feature, reviewing the result, pushing it and sending it to production.

A few months ago I would have considered this irresponsible. Today, for side projects, it is the fastest and simplest way I know to work.

The reason is not that AI is magic.

The reason is that the environment is already ready.

My phone is the control panel

I connect to my VPS through Tailscale. SSH stays private. I open a persistent tmux session and continue exactly where I left off.

tmux attach -t work

Inside the session I use Claude Code and Codex.

claude
codex

Then I write what I need.

“Add this feature.”

“Fix this bug.”

“Check the logs and deploy the fix.”

“Review this page and improve the mobile experience.”

The agent already has the repository, the project rules and the server context. It can inspect the code, make the change, run checks, commit and push.

The production pipeline does the rest.

From my phone, I can move a project forward while I am outside, waiting for something, travelling or doing something completely unrelated.

For side projects, this changes everything.

Yes, I send AI work directly to production

I do.

Not blindly, and not for every type of software. But for my side projects, AI coding agents are now reliable enough to take a task from a short prompt to a production deploy.

The loop is simple:

write the task → AI changes the code → checks run → push → production

The important part is that the workflow is designed for this.

The AI does not need to guess where the project lives, how it is deployed or which rules apply. Those rules already exist. The VPS platform knows how applications are isolated, how routing works and where secrets belong.

This is what makes the workflow fast.

I am not rebuilding the process every time. I am just giving the next instruction.

The infrastructure removes the scary part

The VPS is built to make this safe enough to be boring.

Cloudflare Tunnel handles public traffic without exposing application ports directly to the internet. A reverse proxy sends each domain to the correct internal container.

Tailscale keeps administrative access private.

Each application has separate credentials and its own environment configuration. Secrets are not committed to Git. Containers keep projects isolated.

There are nightly backups for databases and application data. Monitoring checks that services are alive. If a deploy goes wrong, there is a rollback plan for the code.

This is the difference between “asking AI to deploy something” and having a real production workflow.

The speed comes from AI. The confidence comes from the platform around it.

Rollback is part of moving fast

Sending changes to production quickly only works when going back is easy.

For code, rollback means returning to a previous working commit and redeploying it. It is fast and reversible.

For data, the rule is stricter. Database restores are never automatic. They can overwrite real user data, so they need an explicit decision and a verified backup.

That distinction matters.

A fast workflow is not one that never fails. It is one that fails safely and can recover without panic.

Why this works so well for side projects

Side projects usually die from friction.

You have an idea, but opening the laptop feels like too much work. You notice a bug, but fixing it means finding the project, remembering the setup, rebuilding the context and losing an hour.

Now I can send one message from my phone.

The VPS keeps the session alive. tmux keeps the context alive. Claude Code and Codex do the implementation work. The deployment pipeline moves verified code into production.

That is enough to turn a small idea into a real product much faster.

For me, this is the best part of AI coding tools.

Not that they write code.

That they make it realistic to keep building, even when I only have five minutes and a phone in my hand.