# Build a new website in 1 hour

> From a blank page to a working website on your own domain. With AI, free hosting and not a single line of code.

## What we'll really do in an hour

Let's be honest from the start: in an hour we won't build an online shop or a complex
system. But we'll build what most small companies actually need —
**a small four-page website**:

- **Home** — who you are and what you offer;
- **Services** (or **Products**) — what exactly people can get from you;
- **About us** — why you're worth trusting;
- **Contact** — how to reach you.

On your own domain, working on phones, hosted for free.
And without a single line of code.

## The key point: you won't build the website

In this lesson you won't learn HTML, and you won't need to program anything.
You'll learn something more useful and longer-lasting — **giving AI a task and
accepting its work**.

The difference is fundamental. Buttons will move and tools will change, but the ability
to explain clearly what you want and check the result works everywhere: for a website,
a draft contract, an Excel formula or an advert.

So throughout the lesson there are two routes:

<div class="routes">
  <div class="route ai">
    <p class="route-label">🤖 AI route <span class="pill">recommended</span></p>
    <h4>AI does it, you approve</h4>
    <p>You use an AI that can <strong>not only write but also act</strong>: create files,
      upload them to GitHub, publish on Cloudflare. Your job is to explain, check
      and approve.</p>
    <p>These are AIs with tools, often called agents (e.g. Claude Code, Cursor,
      ChatGPT with connected tools).</p>
  </div>
  <div class="route manual">
    <p class="route-label">✋ Manual route</p>
    <h4>AI writes, you copy</h4>
    <p>You use an ordinary AI chat (ChatGPT, Claude, Gemini). It writes the files,
      and you upload them and click the buttons yourself.</p>
    <p>Good if you don't have an agent, or you want to see everything with your own eyes.</p>
  </div>
</div>

The result is the same either way. The only difference is how much of the work you do.

## What you need to start

Three things, all free:

1. **An AI chat** — ChatGPT, Claude, Gemini or Copilot. Got one? Great.
2. **A GitHub account** — for the website files and version history.
3. **A Cloudflare account** — for hosting. You can sign in to both with a Google account.

And ten minutes of information about your business — more on that in the next step.

## A ready-made prompt: start with this

Don't write the prompt yourself. Copy this one, fill in the square brackets and paste it
into an AI chat. Everything else is its job.

```text
You are my website builder. I have a business; you have the tools and the time.

CONTEXT
- Company: [name]
- What we do: [in one sentence]
- Clients: [who it's for]
- City or region: [where you work]
- What I want from a visitor: [a call / an enquiry / an order]

TASK
Build a four-page website: home, services, about us, contact.
Separate HTML files with embedded CSS, no external libraries. Shared navigation
between the pages, a different title and meta description for each page.
A light, tidy design that works well on phones.
Write the site in [English / Lithuanian / both].

PROCESS — very important
0. TOOLS. First tell me what you can do yourself: create files, use a terminal,
   control a browser, connect to GitHub or Cloudflare. Say straight away what you can't.
1. ASK. Then ask me the questions you still need answered — one at a time.
   Don't build anything until you have enough information.
2. PLAN. Show me a short plan and ask whether it works for me.
3. DO. Build only once I agree.

GOAL — a working address on the internet, not files on a computer
- Don't stop at a zip file or a download. The job is finished when the website
  is reachable on the internet.
- Do everything you can do yourself: create a GitHub repository, add the files,
  connect Cloudflare Pages, publish.
- If you need my sign-in or permission — tell me exactly what to click, wait
  until I confirm, and CONTINUE the work.
- If there's something you can't do at all — give me exact steps, ask me to tell
  you when I've done them, then continue.

RULES
- Talk to me in English. Write the site texts in a businesslike way, without empty
  phrases like "innovative solutions".
- INVENT NOTHING about my company: no years in business, no client numbers,
  no certificates, no testimonials. If a fact is missing — ask me.
- Use only the contacts and company details I give you.
- Where a photo is needed and I don't have one yet, leave a clearly marked placeholder.

AT THE END
Tell me what you built, which files there are, and separately — WHAT YOU DID NOT CHECK,
what I should review myself.
```

That's it. The rest of the lesson covers what the AI will ask, how to answer, and what
you must check before showing the website to clients.

## The most common snag: the AI stops at a zip file

We tested this ourselves, so we're warning you in advance.

Without a clear instruction, AI often makes the files, packs them into a zip and politely
offers: *“when you're ready, I can help you put this on GitHub”*. It sounds helpful, but
you still don't have a website on the internet.

The reason is simple: models tend to stop at a safe result if nobody has said where the
finish line is.

That's why the prompt contains the line **“Don't stop at a zip file”**. If it stops anyway,
say it straight:

```text
Don't stop. The goal is a working address on the internet.
Do everything you can yourself. Where you need my sign-in, tell me what to
click, wait for my confirmation and keep going until the website is published.
```

And one more tip: **ask the AI what it can actually do.**
Some tools only write text; others can create files, control a browser or connect to your
accounts. That decides how much work is left for you — which is why the first step in the
prompt is “tell me what you can do yourself”.

## What it didn't check — read this part carefully

At the end of the prompt we ask the AI to list separately **what it did not check**.
That's the most valuable part of the answer.

A real example from our test. At the end, the AI wrote roughly this:

> I copied the email address exactly as you gave it. Check for a typo — the company
> name is spelled one way and the email address another.
> I didn't open the website in a real browser or check it on a phone.
> The tone of the texts and the colours are my choice, not agreed with you.

Three things at once: it found **a real typo** in the client's details, honestly said it
**hadn't checked in a browser**, and named where it had made decisions **for you**.

Without that sentence in the prompt you'd have got just “everything's ready” — and a wrong
email address on your website.

## Why not a single page

One long page looks simpler, but it has one drawback that costs clients:
**Google and AI search show pages, not websites.**

With a separate “Services” page, you can be found by a search for that specific service.
With everything on one page, you compete with a single address — and usually lose to
whoever has a separate page for exactly that service.

Separate pages are also easier to maintain: change a price and you fix one place,
instead of hunting for it in a long text.

## Where it really starts: an email account

Before the website you'll need accounts in a few places — hosting, the domain, AI tools.
They all start with an email address.

The simplest route is **signing in with Google** (“Sign in with Google”).
That way you don't create new passwords or have to remember them. It's a recommendation,
not a rule — any other email works too.

But two things are worth deciding straight away:

- **That account becomes the key to everything** — the domain, the hosting, the website.
  So **be sure to switch on MFA** (see the lesson [Passwords and MFA without the pain](/en/lessons/passwords-and-mfa)).
  Lose that account and you lose the website.
- **For a business — a company account, not a personal one.** A classic situation: the
  website is registered to a former employee's personal Gmail, and nobody has their phone
  any more. Use `name@yourcompany.lt`.

## Preparation: 10 minutes that save 40

Most people spend the hour looking for the logo file. So before you start, put these
in one folder:

- **The logo** (if you have one) and 3–5 photos. Don't have your own? Three routes:
  free stock photo sites ([Unsplash](https://unsplash.com),
  [Pexels](https://pexels.com)), **generated with AI**, or simply taken on your phone.
  More on AI photos in the next step.
- **Contacts**: phone, email, address, opening hours.
- **Company details**: name, company code, VAT code.
- **3–5 testimonials** or client names, if you're allowed to publish them.

You don't need the domain yet — we'll connect it at the end.

## AI can make the photos too

No photos, and you don't want the same ones half of Lithuania uses?
Ask an AI (ChatGPT, Gemini or another tool that generates images):

> Create a background photo for a website: light, calm, no text, no faces,
> landscape, suited to [your business]. Realistic, not a drawing.

**Where AI photos work brilliantly:** backgrounds, abstracts, illustrations,
icons, mood images.

**Where the line is, and it matters:** don't create fake photos of your team, premises or
products. “Our team” made of AI-invented people is a lie to the client —
and the lie comes out at the first meeting.

A simple rule:

> An AI photo can **illustrate**, but it can't **testify**.

Photograph your work, premises and people on your phone. An imperfect real photo sells
better than a perfect fake one — and EU rules on labelling AI content are only getting
stricter.

## Content first. Always

The most common mistake is starting with the design. But a beautiful empty page sells
nothing, while AI turns good content into a design in minutes.

Answer five questions, 2–3 sentences each:

1. **What do you do?** In one sentence, without “innovative solutions”.
2. **For whom?** Who is your client — a café in Kaunas or a 50-person factory?
3. **Why you?** Three specific things. Not “quality”, but “we arrive within 4 hours”.
4. **What do you offer?** 3–6 services or products.
5. **What do you want from the visitor?** A call? An enquiry? One action, not five.

These five answers are your website. Everything else is decoration.

## The most important trick: tell the AI to ask first

Most people type “make a website” and get something mediocre. Not because the AI is bad,
but because it's guessing.

The fix is simple and works with any task:

> **Ask first. Then a plan. Only then do it.**

Before the main task, paste these three lines:

> Before you start, ask me the questions you still need answered — one at a time,
> until you have enough. Then show me a short plan and ask whether it works.
> Only start building once I approve.

The difference is huge: instead of an invented “innovative company” you get a page about
**your** business, because the AI asks about what it doesn't know instead of making it up.

## Project rules: a prompt you write once

For more serious work it's worth having a standing prompt — a kind of project
constitution you give the AI every time. We work like this ourselves on client websites.
The structure:

1. **Who you are.** “You are my website builder.”
2. **What we have.** Where the website is kept, where the domain is, how content is edited.
3. **Principles.** What doesn't change: logo, colours, language, speed.
4. **Process.** Ask → plan → do → check.
5. **What never to do.** Don't invent facts, don't put passwords in the text,
   don't change what I didn't ask for.
6. **How to report back.** What you changed, where to see it, and **what you didn't check.**

Point six is the most valuable. AI happily says “everything works”. Ask it to list
separately what was left unchecked, and you get an honest answer — and you know where
to look with your own eyes.

## AI makes the first version

Now open any AI chat and paste your answers with this task:

> Build a four-page website for my company. My answers to the five questions are below.
> Make four separate HTML files with embedded CSS, no external libraries, so it works
> when you open the file:
> `index.html` (home), `services.html`, `about.html`, `contact.html`.
> The same top navigation with links between them on every page, and the same footer
> with the company details. Write a different `title` and `meta description` for each
> page. A light, tidy design that works well on phones.
> Write the texts in [English / Lithuanian], in a businesslike way, without empty phrases.
> Don't invent anything — use only what I've given you. Before you start, ask questions
> if anything is missing.

You'll get four files. Put them in one folder (photos in an `img` subfolder) and open
`index.html` in your browser — the website already works on your computer, and the links
between pages work without the internet.

Important: **every page's `title` must be different.** That's what Google shows in the
results, and that's why separate pages win searches.

To improve the design you can also use [Google Stitch](https://stitch.withgoogle.com) —
it generates layouts from text.

## What AI always gets wrong

A step nobody skips without paying for it. Read the text and throw out:

- **Invented facts.** “Experience since 2009”, “200 happy clients” — if you didn't give
  it that, the AI made it up. That's both a reputational and a legal risk.
- **Empty phrases.** “Innovative solutions”, “individual approach” — everyone writes them,
  so they mean nothing.
- **Fake contacts.** AI happily puts in `info@example.com` and +370 600 00000.
- **Leftovers in the wrong language** — e.g. “Learn more” or “Our Services” on a
  Lithuanian site.

The rule: **anything that can be checked must be true.**

## A solid foundation: version control and automatic hosting

This is where most people take the quick route and regret it later.

You can just drag the files into a hosting service — it'll work. But a month later
someone changes a text, someone else deletes a photo, and a week after that the website
“somehow doesn't work” and nobody remembers what it was like before.

So let's do it right from the start. You need two free things:

- **GitHub** — keeps all the files and **the history of every change**;
- **Cloudflare Pages** — hosts the website and **publishes it automatically**
  as soon as anything changes on GitHub.

What that gives you in practice:

- **Every change has a date, an author and a description.** You can see who changed the
  price and when.
- **You can go back to an earlier version at any time** — with one click, in a few
  seconds. A broken website stops being a disaster.
- **Publishing is automatic.** Change a text — a minute later it's on the website.
- **Files never disappear**, even if your computer burns down.

And most important for a beginner: **no command line needed.** You'll do everything in the
browser. That's exactly how we work on client websites too.

## Setting up the foundation (once)

You'll need two free accounts: [GitHub](https://github.com) and
[Cloudflare](https://dash.cloudflare.com). You can sign in to both with a Google account.
Then — two routes.

<div class="routes">
  <div class="route ai">
    <p class="route-label">🤖 AI route <span class="pill">recommended</span></p>
    <h4>Say what you want</h4>
    <p class="say">“Create a private GitHub repository `my-website`, add this website's
      files to it, then connect it to Cloudflare Pages and publish it.
      When you've finished, give me the address where the website can be reached and
      what I should still check myself. If you need my sign-in — tell me what to click,
      wait, and continue.”</p>
    <p>That last line matters. Without it, the AI often stops at the files and only
      <em>offers</em> to help publish.</p>
    <p>The agent will ask for permission to connect to your accounts — you grant it,
      and you never show it your passwords.</p>
    <p><strong>Your job:</strong> approve the actions and, at the end, open the address you
      get — does it really work?</p>
  </div>
  <div class="route manual">
    <p class="route-label">✋ Manual route</p>
    <h4>Five steps in the browser</h4>
    <ol>
      <li>GitHub → <strong>New repository</strong>, call it <code>my-website</code>,
        choose <strong>Private</strong>.</li>
      <li><strong>Add file → Upload files</strong>, drag in the HTML files and the <code>img</code> folder.</li>
      <li>Add a description at the bottom (“first version”) → <strong>Commit changes</strong>.</li>
      <li>Cloudflare → <strong>Workers &amp; Pages → Create → Pages → Connect to Git</strong>.</li>
      <li>Choose the repository → <strong>Save and Deploy</strong>.</li>
    </ol>
  </div>
</div>

A minute later you'll have a working address, e.g. `my-website.pages.dev`.
From now on **every change on GitHub automatically appears on the website.**

## How to change a text later

<div class="routes">
  <div class="route ai">
    <p class="route-label">🤖 AI route <span class="pill">recommended</span></p>
    <h4>Say what to change</h4>
    <p class="say">“On the contact page, change the phone number to +370 600 12345,
      update it in the footer too if it's there. Make a commit with a clear description
      and publish it.”</p>
    <p>The AI will find every place — including the one you'd have forgotten.</p>
  </div>
  <div class="route manual">
    <p class="route-label">✋ Manual route</p>
    <h4>The pencil on GitHub</h4>
    <ol>
      <li>Open the file, e.g. <code>contact.html</code>.</li>
      <li>Click the pencil icon (<strong>Edit</strong>).</li>
      <li>Change the text.</li>
      <li><strong>Commit changes</strong> with a short description.</li>
    </ol>
  </div>
</div>

A minute later the change is on the website. And if you made a mistake — the next step.

## When something breaks: going back

This is the part we did all this for.

- **Cloudflare** keeps every published version. **Workers & Pages → your
  project → Deployments** — next to an older version, click **Rollback**.
  The website returns to its earlier state in a few seconds.
- **GitHub** keeps the history of every file. In **History** you see all the changes
  and can restore any version.

Compare that with the usual situation, where one person looks after the website on their
own computer: there, “going back” usually means “doing it all again”.

## Connecting your own domain

`your-company.pages.dev` is fine for testing, but clients need your own name.

Buy the domain (a .lt costs about 10–15 EUR a year) from any registrar.
Then, in the Cloudflare project, choose **Custom domains → Set up a domain**
and follow the instructions — they'll show which records to change.

Within a few minutes (sometimes hours) your website will be reachable at
`yourcompany.lt`. The HTTPS padlock switches on automatically and for free.

## Must-haves before showing it to clients

A short list worth going through:

- **Contacts visible straight away**, without scrolling. The phone number is a link you
  can tap on a phone.
- **Company details in the footer**: name, company code, address.
- **Check it on a phone.** More than half of visitors will be on a phone.
- **A privacy policy**, if you have a contact form or analytics — you're collecting
  personal data, so in Lithuania it's mandatory.
- **Photo sizes.** A 5 MB photo takes forever to load on a phone; shrink it to
  ~200 KB (e.g. [squoosh.app](https://squoosh.app)).

## So you're found — by people and by AI

Five minutes that pay off most:

- **A different title (`title`) for each page** — “Service in city | Company” on the
  services page, “Contact | Company” on the contact page. That's the biggest benefit of
  separate pages: four pages can be found by four different searches.
- **A description (`description`)**: one sentence shown in Google's results.
- **A Google Business profile** — for a small business often more important than the website itself.
- **Clear text.** AI search (ChatGPT, Perplexity) reads the same text as Google. The more
  specifically you say what you do and where, the more often you'll be suggested.

<aside class="remedy">
  <p class="remedy-label">💊 The fix</p>
  <h3>One page, real facts, free hosting — and only then make it pretty.</h3>
  <p class="rule-line">A simple website today beats a perfect one never.
    For most companies one well-written page brings in more than a project
    that's been “in progress” for a year.</p>
  <ul>
    <li><strong>Content before design</strong> — the five answers from this lesson are
      70 % of the work.</li>
    <li><strong>AI writes fast but lies convincingly</strong> — you check the facts.</li>
    <li><strong>GitHub + Cloudflare Pages</strong> — version history, automatic
      publishing and going back with one click. Both free.</li>
    <li><strong>Several pages, different titles</strong> — four chances to be found
      instead of one.</li>
    <li><strong>One clear action</strong> on the page: call or write.</li>
  </ul>
  <p class="caveat">This lesson is for a business-card website. Want to sell online?
    The steps are the same — only the products, payments and law differ. That's the next
    step on this path, shown at the bottom of the lesson.</p>
</aside>

## If you get stuck

The most common snags and how to solve them:

- **The AI gave me code and I don't know what to do with it** — ask: “give it to me as
  one HTML file I can download”.
- **The website looks bad on a phone** — tell the AI: “make it work well on phones,
  and make sure the text isn't too small”.
- **The domain doesn't work** — changes sometimes take up to a few hours. Wait.
- **I want to change a text** — open the file on GitHub, click the pencil,
  fix it and commit. A minute later the change is on the website.

No time, or want us to do it? **pagalba@itbroliai.lt**

## Check yourself

Six questions on what you've just done. At the end you'll get a certificate
with your score.