Getting Started 12 min read · Updated June 2026

How to create a website with AI

A complete, honest guide — how an AI coding agent actually works, what to type, how images are handled, and how your site goes live in minutes.

Creating a website used to mean one of two things: wrestling with a drag-and-drop builder until it looked almost-but-not-quite right, or paying a developer several thousand dollars and waiting weeks. AI coding agents change that equation entirely.

This guide explains exactly how — not in abstract terms, but technically and practically. By the end you'll understand what an AI website builder actually does, how to talk to it effectively, and how a conversation becomes a live, indexed website that belongs to you.

What this guide covers

This guide focuses on Ullbek specifically — so some details are particular to how this agent works. The broader concepts apply to any serious AI website builder.

What "creating a website with AI" actually means

Let's get one thing clear from the start: AI website creation is not the same as AI website builders like Wix's ADI or Squarespace's AI tools. Those tools use AI to pick a template and pre-fill it with placeholder text. You still drag blocks around. You still hit ceilings.

An AI coding agent is different. It writes real HTML, CSS, and JavaScript — the same code a professional web developer would write. There are no templates, no block system, no pre-set grid. The output is custom code that exists in files on a server. When you look at the source of a site built by Ullbek, you see hand-crafted markup, not auto-generated spaghetti.

"The agent isn't choosing a template. It's writing the website — the same way a developer would, except in seconds."

This distinction matters for several reasons:

How Ullbek works under the hood

Ullbek is a large language model (LLM) connected to a set of specialised tools that operate directly on a static file server. Here's the technical picture:

System architecture — what's actually running
LLM core
A frontier language model that understands your requests, plans what to build, writes code, and makes decisions about design and structure. It has broad knowledge of HTML, CSS, JavaScript, web standards, typography, colour theory, layout, and UX patterns.
File tools
read_file, write_file, edit_file — the agent reads your existing pages before editing them, writes new files, and makes surgical edits to specific lines. Files are served exactly as written — no build step.
Image tools
generate_image, find_stock_images, optimize_image — the agent can generate original AI artwork, find royalty-free stock photos, resize and convert images, and place them in the right folder automatically.
Preview tools
take_screenshot, refresh_preview, navigate_preview — after writing a file, the agent takes a screenshot of its own work to verify it looks right. It can see the rendered page and fix mistakes without you having to describe them.
Research tools
web_search, fetch_url, build_brief — before building a site for a real business, the agent can research the company, find existing branding, real photos, and actual copy from public sources.
Publishing
A separate publishing specialist handles going live, connecting custom domains, DNS configuration, and HTTPS certificates. It hands back control to the builder agent when done.

All of this runs in a loop on a live static file server. When the agent writes a file, it's immediately live in the preview. There's no build pipeline, no compilation, no deployment step — the file on disk is the website.

The agent can see its own work

After writing or editing a page, Ullbek takes a screenshot and inspects the result. If something looks wrong — a broken layout, a colour that clashes, text that's too small on mobile — it notices and fixes it, often without you needing to say anything.

What to say: how to prompt an AI website builder

The most common question people ask is: "What do I type?" The honest answer is: describe what you want the way you'd describe it to a human designer or developer. You don't need technical language. You don't need to know what HTML is.

Starting a new site

Give the agent the context it needs to make real decisions. The more specific you are about your business, the less generic the result will be:

Good prompt — specific
"Build me a website for my ceramics studio in Portland. I sell hand-thrown mugs, bowls, and vases. My style is earthy and minimal — I like warm terracotta tones, cream backgrounds, and clean typography. I want a homepage with a hero image, a shop section showing my products, and a contact form."
Vague prompt — too little to go on
"Make me a website."

The agent will ask clarifying questions if it genuinely needs them. But the more context you give upfront, the faster it can build something that actually fits your situation.

Asking for changes

Changes work the same way — describe what you want to see, not the code change you think is needed:

Example — describing a visual change
"The hero section feels too dark. Can you lighten the overlay a bit so the image comes through more? And make the heading slightly larger."

You don't need to say "change the rgba value of the overlay" or "increase the font-size property". The agent translates your description into the exact code change required.

Describing design intent

Good design prompts describe feeling and reference as much as specific values:

Images: sourcing, generating, and placing

Images are often where people get stuck. Ullbek has three distinct ways to handle them — and it picks the right one based on context.

1. AI-generated images

For hero images, editorial illustrations, and brand-specific visuals, the agent can generate images from scratch using a description. Generated images are consistent with the site's colour palette and style — they're not random stock photos.

How the image generation loop works

The agent generates an image, views it in its own context, and can either place it or regenerate with a refined prompt. It can also show you the image and ask for approval before placing it.

2. Royalty-free stock photos

For lifestyle, product, and people photography, the agent searches a curated Pixabay library. It picks the best match for your site's mood — not just the first result — and crops it to the exact aspect ratio of the slot it's filling. No head-cropping, no awkward framing.

3. Your own uploaded images

You can upload your own photos directly into the chat. The agent promotes them to the site's asset library, optimises them (resizes to display size, converts to WebP or JPEG), and places them exactly where you want.

Images are always optimised before placement

The agent never places a 4,000px raw camera image directly into a webpage. Every image is resized to its display width and compressed — typically saving 70–90% of the file size — so your site loads fast.

The build loop: what happens step by step

Here's what actually happens between you hitting send and seeing your website in the preview:

  1. The agent reads existing files

    Before touching anything, it reads the current state of your site — HTML, CSS, JavaScript — so it has the exact code to work from. It never edits blind.

  2. It plans the changes

    For bigger tasks, the agent creates a step-by-step plan. You can see this plan in real time as a progress card in the interface. It checks off steps as it goes.

  3. It writes or edits the files

    Surgical edits use edit_file to change only the relevant lines. Full rewrites use write_file. CSS is almost always in a shared stylesheet — changes propagate to every page automatically.

  4. It sources and places images

    If the task involves images, the agent generates, finds, or retrieves them in this step — optimising and placing them before the page is rendered.

  5. It refreshes and checks its work

    The agent refreshes the preview and takes a screenshot of the result. If something looks wrong — a layout issue, a mobile breakpoint problem, a colour that doesn't match — it loops back and fixes it.

  6. It hands back to you

    When it's satisfied with the result, it describes what it built and suggests the single most valuable next step — adding a contact form, writing a blog post, going live, etc.

Going live: publishing your AI-built website

Publishing is a separate step from building — and for good reason. Once your site is live, it has a real URL that people can visit, share, and bookmark. The agent doesn't publish automatically; it waits for you to say you're ready.

Free publishing: your Ullbek subdomain

Every site gets a free subdomain at yoursite.ullbek.site. Publishing takes about 30 seconds — the agent hands off to a publishing specialist, the files are deployed to the global edge network, and HTTPS is activated automatically.

Custom domains

If you have your own domain (or want to register one), you can connect it for $18/site/month. The publishing specialist walks you through the DNS settings — typically two records you add to your domain registrar's dashboard. Once connected, your site is live at yourdomain.com with automatic SSL.

DNS propagation takes time

After connecting a custom domain, DNS changes can take anywhere from a few minutes to 48 hours to propagate globally. Your site will be live on the Ullbek subdomain immediately — the custom domain becomes active as DNS settles.

What Ullbek builds vs. what it doesn't

Ullbek is a static file server — which means it serves HTML, CSS, JavaScript, and media files directly to the browser. This is the right architecture for the vast majority of websites. Here's what it handles natively, and where you'd need additional tools:

Capability map
✓ Built-in
Any visual layout (homepage, about, portfolio, landing page, blog, docs). Contact forms via third-party backends (Formspree, etc.). Animations, interactive elements, dark mode, responsive design. Client-side filtering, tabs, accordions. SEO metadata, sitemaps, Open Graph tags.
~ Via 3rd party
Form submissions with email delivery (Formspree). E-commerce (Stripe payment links, Gumroad embeds). Comments (Disqus, Hyvor). Booking systems (Calendly embeds).
✗ Not supported
Server-side code (PHP, Python, Node.js backends). User accounts/authentication. Databases. Server-rendered content. These require a backend, which is outside the scope of static hosting.

For most personal, professional, and small-business sites, static is not just fine — it's better: faster, more secure, cheaper, and simpler to maintain.

Tips for getting the best results

Be specific about your audience, not just your content

Saying "I sell organic dog food to health-conscious pet owners" gives the agent much more to work with than "I sell dog food". The audience shapes the tone, the photography style, the colour palette — everything.

Reference real sites you like

Naming a site you admire ("I like the feel of Oatly's website" or "something like Linear.app's homepage") instantly communicates a whole aesthetic direction. The agent can research these and extract design signals.

Iterate, don't over-specify upfront

You don't need to write a 500-word brief before building. Start with the basics, see what the agent produces, then react and refine. The iteration loop is fast — changes take seconds, not days.

Trust the agent's design choices — then override what you don't like

The agent has strong opinions about typography, spacing, and visual hierarchy. Let it make those decisions first, then describe what you'd change. "Make the heading larger" or "can we try a warmer background?" is much more effective than pre-empting every choice.

Ask it to explain what it's doing

If you're curious about why a section looks a certain way, just ask. The agent can explain any design or code decision in plain language. It treats you as an intelligent adult, not a beginner.

That covers the essentials. If you've got questions that aren't answered here, drop them in the chat — the agent is the most direct route to an answer, and building alongside it is faster than reading about it.

Ready to build your site?

Everything in this guide happens inside a single conversation. Start typing — your website will exist by the time you're done.