Build your own software without knowing how to code
This is the exact setup I use to run my coaching business. Four accounts, three downloads, and one first instruction. If you can fill in a form and click Next, you can do this.
What you are actually building
Whatever your business is, the software behind it is only ever three things stacked on top of each other.
You will not build any of that by hand. You will describe what you want in plain English, and an AI called Claude Code will build it while you watch. Your job is to know your own business and to say yes or no. That is genuinely the whole skill.
- Do the steps in order. Each one needs the one before it.
- Nothing here is permanent. Every account is free to delete and every file can be undone.
- You cannot break the internet. Nothing you make is visible to anyone until you decide to publish it.
- When you get stuck, paste the problem to Claude. Copy the red text, paste it, say "this happened, fix it". That is the answer to almost every problem in this guide.
Create four accounts
Do these in a web browser, in this order. Only the first one costs money. Set aside about 30 minutes.
Claude
The AI that writes all the code for you. This is the one that matters.
- Open the link above.
- Choose Max 20x, at $200 a month. Yes, really. Read the box below before you flinch.
- Sign up with your email address and pay.
- Check your email and click the confirmation link they send you.
Buy the $200 a month plan for your first month. Building is the expensive part, and the first month is when you build almost everything. On a cheaper plan you will spend that month hitting usage limits and waiting, which is a miserable way to learn and will probably make you quit.
After the first month, drop to $100 a month if you are still building. When the system is built and you are just running it, drop to $20 a month and stay there.
You can change plans whenever you like, so nothing here is a commitment. Spending $200 once to get the thing built beats spending $20 a month for a year on something you never finish.
Supabase
Where all your information will live. This is the spreadsheet-on-the-internet from earlier.
- Open the link above and sign up. Signing in with GitHub is easiest, but if you do not have GitHub yet, just use your email and come back to it.
- Once you are in, click New project.
- Give it any name you like. Your business name is fine.
- It will generate a database password. Copy it and save it somewhere safe right now.
- For Region, pick the one closest to where you live.
- Click Create new project and wait about two minutes while it sets itself up.
You do not need to understand anything on the Supabase screen. You will never have to type into it. Claude talks to it for you.
GitHub
Your undo button and your backup. It quietly keeps a copy of every version of your work.
- Open the link above and click Sign up in the top right corner.
- Sign up with your email address.
- Pick any username. It does not matter, and nobody will see it.
- Confirm your email address when they send you the code.
- That is all. Do not create a repository. Claude will do that later.
Cloudflare
What puts your pages on the actual internet so other people can open them.
- Open the link above and click Sign up. Choose the free plan when it offers you a choice.
- Create the account with your email address.
- Confirm your email address.
- Stop there. Do not buy a domain and do not add a website yet. Claude will walk you through it when there is actually something to publish.
Install three things on your computer
These are downloads. You click Next until they finish. About 20 minutes, most of it waiting.
Claude Code
The app you will actually spend your time in. It reads and writes your project for you.
- Open the link above. It should detect whether you are on Windows or Mac automatically.
- Download the installer and open the file once it finishes.
- Click through the installer. All the default options are correct.
- When it opens, sign in with the same Claude account you paid for in step 1.
Git for Windows
A helper tool Claude uses behind the scenes. You will never open it yourself.
- Open the link above and choose 64-bit Git for Windows Setup. That is the right one for essentially every computer sold in the last decade.
- Open the downloaded file.
- The installer will ask you roughly ten questions. Click Next on every single one without reading them, then click Install. The defaults are all correct.
- When it finishes, untick "View release notes" and click Finish.
Node.js
The engine that turns your project into an actual website. Also invisible to you once installed.
- Open the link above and download the version marked LTS. LTS stands for long term support, which is a technical way of saying "the boring stable one". That is the one you want.
- Open the downloaded file.
- Click Next through the installer and accept the licence when asked.
- Let it finish. It may take a couple of minutes.
Make a home for your project
One folder. That is the whole step. Two minutes.
Create an empty folder
Everything you build will live inside it, forever.
- Open File Explorer on Windows, or Finder on a Mac.
- Go to your Documents folder.
- Right-click in the empty space and choose New, then Folder.
- Name it after your business, with no spaces. For example MyBusiness.
Open Claude Code and point it at your folder
This is the moment the setup ends and the building begins.
Start your first session
Claude needs to be told which folder it is allowed to work in.
- Open the Claude app from your Start menu, or from Applications on a Mac.
- Find the option to open a project or folder, and choose the folder you just made in step 8.
- Claude will ask for permission to read and write files in that folder. Say yes. It can only touch that one folder, nothing else on your computer.
- You should now see an empty chat box waiting for you.
Your first instruction
Copy the text below and paste it into the chat box. Do not change anything except the parts in brackets.
This first message does something specific and important: it stops Claude from writing any code until it understands your business. Most beginners get this backwards, ask for a finished app on message one, and end up with something impressive that fits nobody.
I have never written code before. Please assume I know nothing technical and explain everything in plain English. I want to build a private system to run my business, and eventually a small public website that connects to it. My business is: [DESCRIBE YOUR BUSINESS IN ONE SENTENCE] Right now I keep track of things using: [SPREADSHEETS / MY HEAD / PAPER / WHATEVER IT IS] I already have accounts with Claude, Supabase, GitHub and Cloudflare, and I have installed Git and Node.js on this computer. Do NOT write any code yet. Instead, interview me. Ask me one question at a time about how my business actually works and what I need to keep track of. Keep asking until you genuinely understand it. When you are confident you understand, show me a plain English list of the information we should store, and wait for me to approve it before you build anything.
The one thing Claude cannot do for you
Claude writes every line of code. But it cannot log into your Supabase account and read your keys. You have to fetch those by hand, and this is where most beginners get stuck and give up.
A key is a long password that lets two pieces of software talk to each other. Your website needs one to talk to your database. There are two of them, they look almost identical, and the difference between them matters enormously.
Claude will tell you when it needs these. When it does, here is exactly where to go.
Fetch your two Supabase keys
Four clicks, and then the single most important rule on this page.
- Open the link above and click on your project.
- Click Settings, the gear icon in the bottom left corner.
- Click API Keys.
- You will see two keys. One starts with sb_publishable_ and one starts with sb_secret_.
- Also click General in that same Settings menu and copy your Project URL. Claude needs that too.
The publishable key (sb_publishable_) is safe. It is designed to sit inside a web page where anyone can read it. Seeing it in your own website is normal and correct. Do not panic about it.
The secret key (sb_secret_) is the keys to your house. It bypasses every security rule you will ever set up. Never put it in a web page. Never post it in a screenshot. Never paste it into any chat other than Claude Code itself. If it ever leaks, go straight back to that same Settings page and roll it, which cancels the old one instantly.
Before you paste anything, make Claude set up the protection first. Send it this:
I am about to give you my Supabase keys. First, before I paste anything: create the environment file where these belong, and confirm out loud that it is listed in .gitignore so it can never be uploaded to GitHub by accident. Then tell me which of my two keys you actually need for this, and which one you specifically do NOT want me to paste. Explain the difference in one sentence so I understand what I am handing over. I will paste it after you have confirmed all of that.
Everything else, which is easier than you fear
GitHub and Cloudflare mostly do not need you to copy anything.
For GitHub and Cloudflare, Claude usually runs a command that pops open your web browser, where you click a single Allow or Authorize button. No copying, no pasting, no keys. If either one does ask you for a token, Claude will tell you the exact page to go to.
You will see them. They will scroll past in the chat. You do not need to learn any of them, and you should not go away and study them before starting.
Claude creates those files, installs those tools, and maintains them for you. They are the plumbing of the house, not the house. If you ever want to know what one of them is, ask Claude in the moment: "what is package.json and do I need to care?" That is a far better way to learn it than a tutorial, because you will be looking at your own.
The prompt that saves you six months
This is the most valuable thing on this page. Paste it as your second message, right after the interview, before Claude writes a single line of code.
Everything below is something I got wrong and had to go back and fix, often months later, sometimes in a panic. None of it was hard to do correctly the first time. All of it was expensive to retrofit.
To give you a sense of what "expensive to retrofit" means:
Not one of those was a hard problem. Every one of them was a default I did not know to change. The prompt below changes all of them on day one.
Before you write any code, we are going to agree the rules this project is built under. Everything below comes from someone who built a real business system this way and had to go back and fix all of it later, at much greater cost. I want it correct from the first line instead. Write all of this into CLAUDE.md now, in your own words, and then follow it for the entire life of this project. Tell me if any of it does not apply to what we are building, and explain why. === SECURITY: the part I cannot check myself === 1. Assume the key that sits in my website is public, because it is. Anyone can read it out of the page. Nothing private may ever be reachable with that key. When you tell me something is safe, show me the proof by trying to break in as an outsider would. 2. Turn on row-level security on every table in the same step that creates it, never later. Default position for any table holding personal information: nobody can read it. We then open specific doors on purpose, one at a time. 3. A public page must never read a database table directly. Give it a dedicated function that returns only the exact fields that page needs. Never hand a whole row to a public page. 4. Never let a password, token, phone number, address, private note or internal field reach a public page, even if the page does not display it. If it is in the response, it is public. 5. Grant the narrowest possible access first and widen only when something genuinely breaks. Never grant broadly and promise to narrow later. 6. Every function that runs with elevated privileges gets locked down explicitly at the moment you create it. 7. Put two-factor authentication on my admin login as soon as the login exists, not later. 8. Delete code, functions and endpoints we stopped using. Anything still deployed is still an entrance, even if nothing points at it any more. === EMAIL: mistakes here reach real human beings === 9. Never send an email to a real person while testing, under any circumstance. Set up a test address on day one and make it structurally impossible for a test to reach a real contact. 10. Anything that sends in bulk must have a practice mode that shows me exactly who would receive it. I see that list before anything sends. No exceptions, no "it is probably fine". 11. Anything a stranger types into a form gets neutralised before it appears in an email to me. Assume every form field is hostile. 12. Never let a public endpoint email an address chosen by whoever calls it. The recipient must already exist in my database. 13. Before any bulk import or data change, disable anything that automatically notifies people, then re-enable it afterwards. Say this out loud to me every single time. === MY DATA: I cannot undo a bad write === 14. Never replace a large block of my content in one operation. Make targeted edits to the specific part that changes. If you are about to overwrite something wholesale, stop and show me first. 15. Before anything that changes many rows at once, show me the count and a sample of what will change, and wait for me to say go. 16. Set up automatic backups in the first week. Then make me restore from one on purpose, once, so we both know it actually works. === SECRETS === 17. Set up the ignored-file protection before I paste my first key, not after. 18. Assume this code could become public one day. Never store real customer data, real bank details, real statements or real personal records anywhere in the project, not even as a test example. Use obviously fake data. 19. Add an automatic check that refuses to save my work if it spots something shaped like a real account number, key or password. Never store the real value inside the check itself. === STOPPING MISTAKES FROM REPEATING === 20. When you fix a bug, never fix only the one I noticed. Search the whole project for the same shape of mistake, fix every instance, and tell me how many you found. 21. Every bug we fix gets a permanent automatic test so it cannot come back quietly. An actual check that runs, not a note in a file. 22. When something breaks, find out why. Never switch off a safety check to make an error go away. A check that is firing is doing its job. === DO NOT GET ME BANNED OR BILLED === 23. Saving my work locally (committing) is free and safe. Do it constantly, after anything that works. That is my undo button and there is no downside to using it. 24. Uploading that work to GitHub (pushing) is a completely different action and is NOT free of consequence. Only do it when I explicitly say "push" or "back it up". Never automate it, never put it inside a script that runs on its own, and never more than a few times in a working session. Accounts get suspended for looking like a bot doing this, and it has already happened to me once. Treat every push as deliberate. 25. Publishing to the live website is limited. The free plan allows 500 publishes a month, so batch my changes and publish when a batch is genuinely ready, never once per small edit. If we are burning through them, tell me. 26. Anything that costs money or counts against a limit gets flagged to me BEFORE you do it, not after. That includes publishing, paid AI usage, and any service that bills by the request. === HOW I WANT YOU TO WORK WITH ME === 27. I am not technical. Before you do something, tell me in plain words what you are about to do, why, and what could go wrong. 28. If I ask for something that will cause problems later, say so plainly and argue with me. Do not just agree because I asked. 29. If you are unsure, say you are unsure. Never present a guess as a fact. 30. When you finish something, tell me honestly what you did not test and what you are still unsure about. 31. Build the smallest working version first and let me use it before improving it. Never build me six things at once. Confirm you have written all of this into CLAUDE.md, then tell me which rule you think will be hardest to keep, and why.
There are three different actions that all feel like "saving", and a beginner cannot tell them apart. They have very different consequences:
Saving locally (committing) is free and unlimited. Do it constantly. It is your undo button.
Uploading to GitHub (pushing) is not free of consequence. Doing it constantly, or letting something automated do it, looks like bot behaviour. My GitHub account was taken down for exactly this. Push a few times a session at most, and only when you mean to.
Publishing to the live site is capped at 500 a month on the free plan. Plenty, unless something publishes on every edit, which is exactly what an eager assistant will do unless you tell it not to.
What to ask for, in order
After the interview, build in this sequence. Each step only makes sense because the one before it exists. Give it days or weeks, not hours.
Below are the six requests, in the order that works. Paste them one at a time, and only move to the next one once the current one actually works.
Set up the Supabase database with the tables we agreed on. Walk me through connecting my Supabase account step by step, and tell me exactly what to click and what to copy. Then put a few rows of fake example data in so I can see it working.
Now build me one private web page that shows that information in a clean table, and lets me add, edit and delete rows. I want to run it on my own computer first, before anything goes on the internet. Tell me exactly how to open it.
This works. Now help me put it online with Cloudflare Pages, and put it behind a login so only I can see it. Walk me through every click, and tell me what to do if something fails.
Now build a public page where someone who is not me can fill in a form, and have their answers arrive in my database automatically. Make sure nobody can see anyone else's information.
Set up email so my system can send messages automatically. Explain my options first, tell me which one you recommend for someone at my size and why, and then set it up with me.
Now set up something that runs on a schedule without me doing anything, even when my computer is off. Start with one simple example, like a reminder email that goes out every morning.
The one habit that matters more than everything else
If you remember nothing else from this page, remember this part.
Claude is brilliant and it forgets. Every new conversation starts from nothing. So the moment you correct it, that correction has to be written down, or you will be having the same argument in a month.
There is a file for this. It is called CLAUDE.md, it lives in your project folder, and Claude reads it automatically at the start of every single conversation. It is the memory it does not otherwise have.
The prompt in part 7 already created that file and filled it with my hard-won rules. This part is about keeping it alive, which is a habit rather than a one-off. Paste this once, early:
From now on, whenever I correct you, or tell you a rule about how this project works, or you make a mistake we have to fix, add it to CLAUDE.md in your own words along with why it matters. Do this immediately when it happens, not at the end of the session. If you notice you are about to break a rule that is already in there, say so out loud instead of quietly doing it.
My own version of that file is now long, and it is the single most valuable thing in my entire project. Every line in it exists because something went wrong once. Written down, it went wrong exactly once, and that is the whole return on the habit.
What it costs
Real numbers, checked in August 2026. Everything except Claude stays free until you are genuinely busy.
So the shape of it is $200 for the month you build, then $100 a month while you are still adding things, then $20 a month forever to keep it running. Everything except Claude stays free.
For comparison, the off-the-shelf tools that do a fraction of this typically run $100 to $300 a month, every month, permanently, once you have a few hundred customers. And you cannot change how they work.
When something goes wrong
It will, on the first day, and it is almost never your fault.
One last thing
I am not a developer. I built what I have by doing exactly what is on this page, badly at first, for months. The thing that made the difference was not talent and it was not any clever choice of tools. It was building one small piece at a time, using it for real, and writing down every rule the moment I learned it.
Start with the boring thing you already do by hand every week. Make the computer do that one thing. Then look up.
Iván Chocrón
Prices and download links verified August 2026. If a link has moved, search for the service by name and use the official site.
