← The 12-month journey

The Beginner's Setup Guide

Every account to create and every piece of software to install to build with AI the way I do. There are two paths. Most people should start on the laptop and move to a VPS once they outgrow it.

Path 2

How It Fits Together

You type on your laptop, but the work happens on a rented Linux server (a VPS) that never sleeps. AI agents on that server write the code, save it to GitHub, and Vercel puts it on the internet at your domain.

  1. 01

    Your laptop

    Ghostty terminal

  2. 02

    Tailscale

    private network

  3. 03

    Your VPS

    Claude Code

  4. 04

    GitHub

    your code

  5. 05

    Vercel

    live on the internet

  6. 06

    Your domain

    GoDaddy DNS

Two things sit alongside all of it: Supabase holds your app data and user accounts, and 1Password holds every password and API key so nothing secret ever ends up in your code.

Why a VPS instead of just your laptop?

Your laptop closes, sleeps, and travels. The VPS runs 24/7, so scheduled agents keep working, long AI tasks finish while you're away, and you can pick up the same session from your phone. It also keeps experiments off your personal machine.

Coming from Path 1?

Keep your laptop setup; it becomes the window into the VPS. Your code is on GitHub and your keys are in 1Password, so on the server you install the same tools, sign in again, and git clone your repos into ~/projects/. Copy your CLAUDE.md over too. New to all of this? Start with Path 1.
Step 1

Create the Accounts

Use one email address for all of them (ideally one on your own domain), turn on two-factor authentication everywhere, and save every login in 1Password as you go. If you already did the laptop path, you only need the two new accounts marked below.

Day 1: the core

AccountWhat It's ForCost
1PasswordStores every password and API key. Set this up first.~$3–5/mo
GoogleYour identity for everything else. Google Workspace on your own domain is best.Free, or ~$8/mo Workspace
Claude (claude.ai)The main AI. The subscription powers Claude Code.$20/mo Pro → $100–200 Max
GitHubWhere all your code livesFree
VercelHosts your websites and apps. Sign up with GitHub.Free (Pro $20/mo later)
GoDaddyYour domain name and DNS~$12–25/yr per domain
Granola (granola.ai)Records every meeting (Zoom, Meet, in person), transcribes it, and writes the notes. Sign up with your Google account.Free tier, paid plans for more
Hetzner · newRents you the VPS~$8–30/mo
Tailscale · newPrivate network between your laptop, phone, and VPSFree

Month 1+: when you build real apps

AccountWhat It's ForCost
SupabaseDatabase, user logins, file storageFree (Pro $25/mo)
Anthropic Console (console.anthropic.com)API key so your own apps can call Claude. Set a monthly spending limit the day you create it.Pay per use
SendGridSending email from your appsFree tier
PostHogSee how people use your appsFree tier
StripeTake paymentsPer-transaction fees
Google Cloud“Sign in with Google” and Google APIs for your appsFree for most uses

Only if you build mobile apps

AccountWhat It's ForCost
Apple DeveloperTestFlight and the App Store$99/yr
Google Play ConsoleAndroid releases$25 one-time
ExpoBuild tools for iOS and Android appsFree tier
RevenueCatIn-app subscriptionsFree until you earn real revenue
Step 2

Set Up Your Computer

Your laptop stays light. It's a window into the VPS, not where the code lives. (These steps are for a Mac. On Windows, use Windows Terminal instead of Ghostty; everything else is the same.)

InstallWhy
Ghostty (ghostty.org)Fast, clean terminal. This is where you'll spend your day.
Homebrew (brew.sh)Installs everything else on a Mac
Tailscale appConnects your Mac to the VPS privately
1Password app + browser extensionFills in logins everywhere
Claude desktop appChat, research, and connectors to Gmail, Calendar, Drive
Granola (granola.ai)Records and transcribes your meetings (Zoom, Meet, in person) and writes the notes. Claude can read them later.
Xcode (only for iOS apps)Apple requires a Mac to build iPhone apps
In Ghostty on your Mac
# Homebrew (follow the prompts it prints at the end)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Apps
brew install --cask ghostty 1password claude
# Tailscale: download the Mac app from tailscale.com/download

# Make an SSH key (press Enter at every prompt)
ssh-keygen -t ed25519
cat ~/.ssh/id_ed25519.pub   # copy this; Hetzner asks for it next
Step 3

Rent and Secure the VPS

  1. 1In Hetzner Cloud, create a server: Ubuntu 24.04, 4 vCPU / 8 GB RAM is plenty to start (mine is 8 / 16 GB after a year). Paste your SSH public key when it asks.
  2. 2Copy the server's IP address and connect from Ghostty.
  3. 3Create your own user, install Tailscale, then lock the front door so the server only accepts connections over Tailscale.
First login (as root)
ssh root@YOUR_SERVER_IP

# Create your everyday user and give it your SSH key
adduser yourname
usermod -aG sudo yourname
rsync --archive --chown=yourname:yourname ~/.ssh /home/yourname

# Updates + firewall
apt update && apt upgrade -y
ufw allow OpenSSH && ufw enable

# Tailscale: prints a link, open it and log in
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up
tailscale ip -4   # note this 100.x.x.x address
Back on your Mac: ~/.ssh/config
Host vps
  HostName 100.x.x.x      # the Tailscale IP from above
  User yourname

Now ssh vps gets you in from anywhere, including your phone (Termius on iPhone, with Tailscale on). Once that works, ask Claude to help you close public SSH so only Tailscale can reach the server.

Step 4

Install the Tools on the VPS

Everything below runs on the VPS after ssh vps. After this step you can ask Claude Code to install anything else for you.

Basics
sudo apt install -y git tmux ripgrep jq python3 python3-pip unzip build-essential gh

# Node.js 22 (most AI tools need it)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs

# Let npm install tools without sudo
mkdir -p ~/.npm-global && npm config set prefix ~/.npm-global
echo 'export PATH="$HOME/.npm-global/bin:$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
The AI coding agents
# Claude Code (Anthropic): your main tool
curl -fsSL https://claude.ai/install.sh | bash

# Deploy tools
npm install -g vercel
Service tools
# Browser automation, so agents can test your sites
npm install -g playwright && npx playwright install --with-deps chromium

# Supabase CLI runs on demand, no install needed
npx supabase --help

Also install the 1Password CLI (op) by following developer.1password.com/docs/cli, or just ask Claude Code to do it.

ToolWhat It Does
git + ghSave your work and talk to GitHub
tmuxKeeps your sessions running when you disconnect
Node.js + npmRuns almost every modern web tool
PythonScripts and scheduled jobs
claudeClaude Code, your AI coding agent
vercelDeploy from the terminal
playwrightA real browser that agents can drive
opPull secrets from 1Password when a script needs them
Step 5

Connect Your Accounts

This is what turns an AI chat into an AI that can do things. Each login below happens once, on the VPS.

Sign in to each tool

Run ThisIt Connects
claudeYour Claude subscription (it opens a login link)
gh auth loginGitHub
vercel loginVercel
git config --global user.name / user.emailYour name on every commit

Google: Gmail, Calendar, Drive

  1. 1In claude.ai, open Settings → Connectors and connect Gmail, Google Calendar, and Google Drive.
  2. 2Claude Code picks up those same connectors when you're logged in with the same Claude account.
  3. 3Try it: claudethen “What's on my calendar this week?”

Granola: your meetings

Install the Granola desktop app and sign in with Google so it can see your calendar. It records and transcribes each meeting and writes the notes. Then connect Granola to Claude (claude.ai → Settings → Connectors). Now you can ask “What did we decide in Tuesday's call?” or “Draft a follow-up email from this morning's client call.”

GitHub, Vercel, Supabase, Stripe inside Claude

In Claude Code, type /pluginand install the official GitHub, Vercel, Supabase, and Stripe plugins. Each asks you to log in once. After that, “why did my last deploy fail?” or “add a column to the users table” just works. Any other service with an MCP server connects the same way:

claude mcp add --transport http <name> <server-url>
claude mcp list   # see what's connected

API keys: GoDaddy, Anthropic, and the rest

Some services only offer an API key. The pattern is always the same:

  1. 1Create the key in the service's developer dashboard (GoDaddy: developer.godaddy.com/keys).
  2. 2Save it in 1Password straight away, in a vault just for the VPS.
  3. 3Create a 1Password service account that can read only that vault, and put its token on the VPS in a file only you can read. The server can now fetch keys without you there to unlock anything.
  4. 4Tell Claude which 1Password item holds the key. It fetches the key when it needs it and never writes it into your code.

Heads up on GoDaddy

GoDaddy only gives API access to accounts that meet its minimums (such as number of domains). If yours is blocked, ask Claude for the exact DNS record to add, then paste it into GoDaddy's DNS page yourself. It takes two minutes, and you only do it once per site.
Step 6

Write the Operating Manual

Claude Code reads a file called CLAUDE.md at the start of every session. Put your house rules there once and every session follows them. Mine is hundreds of lines after a year. Start with this:

~/.claude/CLAUDE.md
# How I work
- All code lives on this VPS in ~/projects/. Pull before starting, commit and push when done.
- Deploy websites to Vercel with --prod unless I say otherwise.

# Secrets
- Never hardcode secrets. Every key lives in 1Password.
- When I give you a new key, save it to 1Password before using it.

# Safety
- Never send an email, post publicly, or spend money without my explicit yes. Draft first.
- Never delete data or overwrite files without showing me what's there first.
- Never run "crontab <file>". Add cron jobs one line at a time.

# Accounts
- DNS: GoDaddy via API, key in 1Password
- Database: Supabase

When Claude makes a mistake, don't just fix it. Say “add a rule to CLAUDE.md so this doesn't happen again.” That habit does more for you than anything else in this guide.

Step 7

Add Skills and Plugins

CLAUDE.md sets the rules. Skillsteach the moves. A skill is a written playbook that Claude loads only when the task calls for it, like “interview me about this plan” or “review this before I ship.” A plugin is a bundle of skills you install in one step. These are the ones I keep installed once I start building real apps.

SkillWhat It DoesReach For It When
grill-meInterviews you about your plan, one question at a time, until every decision is madeBefore you build anything. Type /grill-me.
tddWrites a failing test first, then the code that makes it passFixing a bug, or building something that must not break
improve-codebase-architectureFinds tangled code and proposes cleanups that make it easier for AI to work inA project has grown for a few weeks and changes keep breaking things
agent-browserLets your agents open a real browser, click around, fill forms, and screenshot your siteYou want Claude to check its own work in the browser
Evolving SkillsBuild your own skills that record what they learn, then fold those lessons back in with /evolveYou catch yourself explaining the same workflow twice
Compound Engineering (plugin)A full brainstorm → plan → build → review loop that writes down what it learned for next timeBigger features that deserve a plan and a proper review
On the VPS
# Skills: each command asks which agents to install to
npx skills@latest add mattpocock/skills -g --skill grill-me tdd improve-codebase-architecture
npx skills@latest add vercel-labs/agent-browser -g
npx skills@latest add https://github.com/dodo-digital/evolving-skills/tree/main/plugins/evolving-skills/claude-skills -g

# The browser those agents drive
npm install -g agent-browser
agent-browser install
Inside Claude Code
/plugin marketplace add EveryInc/compound-engineering-plugin
/plugin install compound-engineering@compound-engineering-plugin

Restart Claude Code afterward, then type /to see your new skills. You rarely need to call them by name: say “grill me on this plan” and Claude picks the right one.

Only install skills you trust

A skill runs with the same access Claude has. Stick to well-known sources like these, and skim a skill's SKILL.md before adding one from somewhere new.

Where they come from

Step 8

Your First Week

The daily routine:

1. Open Ghostty

2. ssh vps

3. tmux new -s work (or tmux attach to pick up where you left off)

4. cd ~/projects/my-thing

5. claude and say what you want in plain English

DayDo This
1Create the Day 1 accounts. Install the Mac apps.
2Rent the VPS, secure it, install the tools, run claude.
3Ask Claude: “Build me a one-page site for [your thing] with Next.js, put it on GitHub, and deploy it to Vercel.”
4Ask Claude to point your domain at it. Connect Gmail and Calendar.
5Start a fresh claude session in the same folder and ask it to review what was just built. A clean session catches what the first one missed.
6–7Write your CLAUDE.md and add the skills. Run /grill-me on your first real app idea. Then read the 12-month journey for what comes next.

What It Costs

Starting OutA Setup Like Mine
Claude$20 (Pro)$100–200 (Max)
VPS~$8~$30
Hosting + database$0 (free tiers)$45 (Vercel Pro + Supabase Pro)
1Password + Google Workspace~$11~$11
Domains~$2Depends how many you collect
Monthly total~$40~$210–310

Add $99/yr for Apple and $25 once for Google Play if you ship mobile apps. Prices are approximate as of 2026. Start with the left column; you'll know when you need the right one because you'll hit the limits.