Can Claude Code Build a Website? Where It Needs You

Yes: Claude Code can write, run and test a website, a web app or a mobile app. What it can do on its own, what still needs a person (accounts, domains, store signing, payments, taste and review), and a worked small site from first prompt to deploy.

7 min read

Yes. Claude Code can build a website from an empty folder: it chooses or follows a framework, writes the pages, installs packages, runs the dev server, looks at the result in a browser and fixes what it sees. It can do the same for a web app with a database, and for iOS or Android apps. What it cannot do is anything that needs you to be a person with an account: buying the domain, signing up for hosting, joining Apple’s or Google’s developer programmes, opening a payment account, and deciding whether the result is good enough to put your name on. Plan for those from the start and the build goes quickly. Leave them to the end and they become the week you did not budget for.

What Claude Code can do on its own

Anthropic’s Claude Code overview (opens in a new tab) describes an agentic coding tool that reads your codebase, edits files, runs commands and works with your development tools, in the terminal, an IDE, the desktop app or the browser. For a website that means the whole loop from scaffold to working pages:

  • Scaffold a project with the framework’s own starter command, or write plain HTML and CSS if that is all the site needs.
  • Run the dev server and check its own work. In the desktop app, Claude can start the server, open it in a built-in browser pane, take screenshots, inspect the page and click through forms; it saves the start command in .claude/launch.json.
  • Test in your real browser from the CLI. The Chrome integration (opens in a new tab) lets Claude open your local site, read console errors, try a form with bad input and compare a page with a design. It needs the Claude in Chrome extension and a Pro, Max, Team or Enterprise plan.
  • Build a backend: API routes, database migrations, sign-in with a library you choose, and the tests that go with them.
  • Write build and deploy scripts, a CI workflow, and the README that tells the next person how to run it all.
  • Publish a single page. A Claude Code artifact is one self-contained HTML or Markdown page hosted on claude.ai, with no backend and no second route, so it suits a mock-up, a report or a one-page prototype rather than a website.

Apps: iOS and Android

An app is code too, so Claude Code writes Swift, Kotlin, React Native or Flutter as readily as a web page. Checking the result is where the platforms differ. On a Mac with Xcode, the desktop app has an iOS Simulator pane (opens in a new tab), in public beta: Claude builds the app, installs it on a simulated iPhone or iPad, taps through it and reads the screen to check its own change. It drives simulated devices only, not a physical phone, and the simulator needs a Mac. The documentation describes no equivalent pane for Android, so for an Android app Claude can write the code and run the Gradle commands you allow, and you check the result on an emulator or a device yourself.

What still needs a person

  • Accounts. Hosting, a domain registrar, an email sender, analytics: each needs a sign-up in your name, a payment method and often a verification step. Claude can tell you what to choose and write the configuration, but you create the accounts and hold the passwords.
  • The domain and DNS. You buy the domain and enter the records the host gives you. Claude can explain each record; it should not hold your registrar login.
  • App store membership and signing. Publishing on the App Store needs a membership of the Apple Developer Program (opens in a new tab), which also covers TestFlight for outside testers. Google Play needs a Play Console developer account, and Google asks for identity verification when you set it up. Signing keys and store submissions are yours.
  • Payments. The payment provider’s account, its identity checks and its live keys belong to you or your company. Claude can wire up the test mode; you decide when real money moves.
  • Design taste. Claude produces a clean, competent layout. Whether it looks like your business, reads well and has the right tone is a judgement you make, ideally with examples of sites you like.
  • Review. You read what it wrote before real users see it, especially sign-in, payments and anything that stores personal data. The checklist for that is in vibe coding security.

A worked small site

Take a five-page site for a small business: home, services, about, contact form, privacy page. Start in an empty folder that is already a git repository, so every step can be undone, and give Claude a short instruction file first. Claude Code reads CLAUDE.md at the start of every session, and it can also read an AGENTS.md if your repository uses that instead, according to its memory documentation (opens in a new tab).

CLAUDE.md
# Site: Harbour Joinery

Static marketing site, five pages. Astro + plain CSS, no UI framework.

## Commands
- Install: npm install
- Dev: npm run dev (port 4321)
- Build: npm run build (output in dist/)
- Check: npm run check && npm run build

## Rules
- Mobile first. Every page must work at 360px wide.
- No tracking scripts, no cookie banner, no external fonts.
- Contact form posts to the form service in .env.example; never hard-code keys.
- Do not deploy. Stop and tell me when a build is ready.
- Commit after each page with a one-line message.

Then work in small prompts, each ending in something you can look at:

  1. “Read CLAUDE.md. Propose a page list, the navigation and a colour palette from these three sites I like. Do not write code yet.” Use plan mode for this step.
  2. “Scaffold the project, build the home page and the shared layout, run the dev server and show me a screenshot at phone and desktop width.”
  3. “Build the services and about pages from the copy in content/. Keep the layout.” Paste in your own words; generated copy about your business is the part readers notice.
  4. “Build the contact form with validation on the server side, and test it with empty, invalid and valid input.”
  5. “Add the privacy page, page titles, descriptions, a sitemap and alt text for every image. Run the check command and fix what fails.”
  6. “List everything I still have to do by hand before this can go live.”

The last prompt is the useful one. It produces the list of accounts, keys and decisions that are yours, and it is usually longer than people expect.

Deploying, with the tool you choose

Pick the host yourself: a static host, a platform tied to your framework, or your own server. Create the account, connect the domain, and put secrets in the host’s settings rather than in the repository. Claude can then write the host’s configuration file and a deploy script, and run the host’s command-line tool after you have logged it in. Keep the final step behind a prompt: an ask rule for the deploy command in .claude/settings.json means Claude has to stop and let you say yes each time. Auto-approve in Claude Code shows how to write that rule.

The review you still owe

  • Open every page on your own phone, not only in the screenshots Claude took.
  • Send the contact form and check the message arrives where you expect.
  • Read every sentence. Remove anything Claude invented about your business, prices, opening hours or qualifications.
  • Search the repository and the built output for keys. Anything in client code is public.
  • Run the security checklist in vibe coding security if the site has sign-in, a database or payments.

When an app builder is the better start

If you have no repository, no hosting and no wish to have either, a browser-based builder that hosts the result may get you live sooner, and you can move the code into a repository later. Lovable, Bolt and v0 vs Claude Code compares the two routes and covers the handover. Claude Code suits you once the site lives in a repository you control and you want to keep changing it.

Keep the “yours to do” list somewhere shared

The things only you can do tend to get lost in a long session. Put them on a board instead. With fenbs connected to Claude Code over MCP, Claude can file each item as a task as it finds it (“buy the domain”, “verify the Play Console account”, “replace the placeholder photos”) in To Do, and you move them through Next Up and In Progress to Completed as you do them. Each task has a note, a plan and a test status, and the history shows whether you or Claude changed it. fenbs has no due dates or sprints, so if the launch has a date, keep that in your calendar.

Related

First steps with the tool: Claude Code for beginners. Habits that keep a build on track: Claude Code best practices. Connecting a board: the Claude Code integration.

Questions people ask.

Can Claude Code build a website from scratch?

Yes. From an empty folder it can scaffold a project, write the pages, run the dev server, check the result in a browser and fix problems. You still create the hosting and domain accounts, provide the real content and review the result before it goes live.

Can Claude Code build iOS apps?

It can write and build an iOS app. In Claude Code Desktop on a Mac with Xcode, the iOS Simulator pane lets Claude run the app on a simulated device and tap through it. It cannot control a physical iPhone, and publishing on the App Store needs your own Apple Developer Program membership.

Can Claude Code deploy my website?

It can write the deploy configuration and run your host’s command-line tool once you have logged in. Many people keep the deploy command behind an ask rule so Claude must stop for approval. The host account, the domain and the secrets stay with you.

Do I need to know how to code to build a website with Claude Code?

Not to get a first version working, but you need to run commands, read what changed and judge the result. Someone who can read code should review sign-in, payments and anything that stores personal data before real users arrive.

Start with one thing.

There is nothing to set up first. Write one line and you’ve started.