What you will build in 30 days
The end result: a real app on your own server, with login, payments, a domain, email and its first users.
By the end of this lesson: you will know exactly what you are building over the next 30 days, what each week produces, and how we work with AI so the result is a real app on your own server and not a demo.
The end result
By day 30 you have one real product, live on your own domain, with these parts working:
- A Laravel 13 app on a server you rent and control.
- Login by magic link, so there are no passwords to leak or reset.
- A checkout that takes money and unlocks access automatically.
- Email from your domain that lands in inboxes.
- Analytics that respect consent.
- A first handful of real people using it, found through search, outreach or communities.
I can't promise how many users or how much money. That depends on your idea and how hard you work at getting it in front of people. What I can promise is that the machinery is in place, so every hour after day 30 goes into the product and its customers instead of plumbing.
Everything runs on boring, cheap parts. There is one VPS, one database, and one cron line. The queue, cache and sessions all live in the database. Boring means you can fix it at 11pm without a team.
The stack, in one picture
- AI: Claude Code in the terminal, guided by a CLAUDE.md in every project.
- Server: one Hetzner VPS running Ubuntu 24.04 LTS, SSH keys only, with CloudPanel on top. Each app is its own CloudPanel site with its own Linux user.
- App: Laravel 13 on PHP 8.4, Blade views, MySQL. Laravel's release notes list PHP 8.3 to 8.5 as supported for version 13, so 8.4 is a safe middle.
- Money: Lemon Squeezy as merchant of record, so it handles VAT for you.
- Email: a real mailbox for humans, plus a sending service for app email.
- Growth: keyword research, daily AI-written articles, ads, and careful cold outreach.
CloudPanel documents its Hetzner installer, and Ubuntu 24.04 is on its supported list. You will use that page in week 1.
Week 1: Set up your workshop
You install Claude Code, write your first CLAUDE.md, rent the VPS, and connect with SSH keys. Then you install CloudPanel, buy a domain and point DNS at the server. You also create a database with backups, put your code in Git and GitHub, and set up email on your domain.
Nothing here is glamorous. It is also where most people stall, so we do it in a fixed order, and each lesson ends with a checklist.
CLAUDE.md matters from the first hour. Claude Code reads that file at the start of every session, so your rules apply every time without you repeating them. Ours say things like: small steps, no secrets in code, ask before touching the database.
Week 2: From idea to plan, then the first build
You find an idea in real complaints, validate it in 48 hours, and then cut it down to the smallest app worth paying for. Then you write the plan with Claude Code and start the Laravel app: magic-link login first, then your data models and one real feature.
This is where the working method kicks in. For anything bigger than a small fix, the loop is always the same:
- Commit your working state.
- Ask Claude Code for a plan. No code yet.
- Read the plan, fix it, approve it.
- Implement in small steps.
- Review every diff before you commit.
It feels slower for a day. After that it is much faster, because you stop untangling changes you never read.
Week 3: Ship it and take payments
You deploy to your server, set up the cron line that runs the scheduler, and lock down your .env. You add logging so you know when something breaks, and you run the security checklist. Then you connect Lemon Squeezy: a hosted checkout link carrying the user's email and id, and a signed webhook that unlocks access. You also write the landing page and set up GA4 with consent.
A deploy is deliberately unexciting. Back up, upload the changed files over SSH, then run:
php artisan migrate --force
php artisan optimize
Week 4: Get your first users
You pick keywords with real volume and buyer intent, then set up an AI command that writes and refreshes articles on a schedule. You learn ads with conversion tracking, outreach that doesn't burn your domain, and how to launch in communities without getting banned.
Then comes the part that keeps the app alive afterwards: AI agents inside your app, one hub for managing many projects, and how to maintain and improve with Claude Code.
Do this now: create your project folder
Before the next lesson, make one place to keep the whole journey. Name the folder after your working project name. It can be a placeholder, because you will pick the real idea in week 2.
mkdir my-first-app
cd my-first-app
git init
Once Claude Code is installed (next chapter), open it in that folder and paste this:
Prompt for Claude Code:
Create a file called JOURNAL.md in this folder. Add a heading for each of four weeks: "Week 1: Workshop", "Week 2: Plan and build", "Week 3: Ship and get paid", "Week 4: Get users". Under each heading, add an empty checklist and a "What went wrong" section. Do not add anything else. Do not create any other files. Show me the file when you are done.
Read the file, then commit it:
git add JOURNAL.md
git commit -m "Add build journal"
This gives you a small first run of the habit: ask, review, commit. At the end of each day, write one line about what broke. That log is more useful than any tutorial when you hit the same wall again.
What you need before you start
- A laptop and a terminal you are willing to learn.
- A Claude subscription or API access for Claude Code. Check the current plans on Anthropic's site, since prices change.
- A payment card for the server and the domain. Hetzner and registrar prices change, so check them on the day you buy.
- About an hour a day. Some days will take less, and the first week will take more.
You do not need to know PHP. You do need to read what the AI writes, at least well enough to see which files it touched and why. We teach that along the way.
Common mistakes
- Skipping the boring setup to get to the app. Without backups, SSH keys and a working domain, the app you ship is fragile. Do week 1 properly.
- Letting the AI build the whole thing in one go. Big unreviewed changes are how you end up with code you can't explain or fix. Plan first, then small steps.
- Picking the idea last-minute or too big. The goal is the smallest app worth paying for, not your dream product.
- Treating growth as something for after launch. Start the keyword and content work in week 3, while you are still polishing. Search takes time to respond.
- Pasting secrets into a chat. Keys go in .env only. If one ever leaks into a chat or a commit, rotate it. Don't just delete it.
Checklist
- I can describe the end result in one sentence: a live app with login, payments, domain, email and first users.
- I know the four weeks and what each one produces.
- I understand the loop: commit, plan, approve, small steps, review the diff.
- I created my project folder and ran
git init. - I set aside about an hour a day for the next 30 days.
- I have a payment card ready for the server and the domain.
Sign in to track your progress.