This article is published in English.
An AI-Assisted Workflow for Shipping a Small Website to Cloudflare
A repeatable workflow and prompt templates for designing, iterating on and deploying a small site with an AI coding assistant, GitHub and Cloudflare's free tier.
A small informational website no longer needs a long build. With an AI coding assistant doing much of the implementation, one person can go from a rough idea to source code on GitHub, automatic deploys through Cloudflare and a live custom domain in roughly half a day of focused work. The difficult part shifts from writing code to deciding what you want and giving precise feedback on what you get. This guide sets out that workflow step by step, with prompt templates you can adapt for the design, logo, review and iteration phases, and it is clear about where the approach stops being appropriate.
Start from purpose, not from a framework
The natural first question for a developer is which stack to use: React, Next.js, a static site generator or something else. When an assistant can generate most of the implementation, that question matters much less than a simpler one: what does the site actually have to do?
For a first version of a personal or consulting site, the answer can be short. Visitors should grasp what the site stands for, be able to find its articles and insights, and know how to get in touch. That is a complete scope. Writing it down first gives both you and the model a clear yardstick for every later decision, and it keeps the first release from swelling into a redesign project.
When you have no design in mind
Many people begin without a design specification, and that is fine. Instead of mockups, describe the experience you want: for example professional, modern, clean, spacious and technology-oriented without looking futuristic for its own sake. The assistant turns that description into a first visual draft.
Once something is on screen, feedback becomes easy because you are reacting to something concrete rather than imagining it:
- The logo does not match the brand.
- The banner image is cropped.
- One section feels crowded.
- A part of the page should be hidden for now.
A sequence of reactions like these is the design process. You do not need design vocabulary, only the ability to notice what feels wrong and say so.
The feedback loop matters more than the first prompt
There is no single perfect prompt. The first output exists to give you something to respond to. Subsequent instructions get narrower and more concrete: fix the logo, correct the banner crop, hide unfinished sections, rename navigation items, test the links, check the mobile layout.
Quality comes from many short, specific rounds rather than from one enormous request. Short rounds also make it easier to spot when the model has changed something you did not ask for.
A master prompt for the first version
A useful opening prompt states the project, then asks the model to propose a design and justify it before generating code. A template might include these parts:
- The name of the brand, business or project.
- The purpose: what the site should help you achieve.
- The audience: who it is for.
- The core message a visitor should take away within the first 15 to 20 seconds.
- The visual direction, such as professional, minimal, premium, creative or technology-led, and whether you prefer a light, dark or neutral background.
- Baseline expectations: clean typography, generous whitespace, a strong visual hierarchy and a layout that works on phones.
- An honest statement that you have not yet chosen colours, fonts or page structure.
Then ask the model to propose, based on purpose and audience:
- A colour palette.
- A typography direction.
- A homepage structure.
- A concept for the hero section.
- The navigation.
- The recommended content sections.
- The calls to action.
- The overall visual style.
Finish by instructing it to explain the proposed design and why it suits the audience before writing any code, and to generate the first working version only once you approve that direction. Separating proposal from implementation is the key move: it is far cheaper to reject a palette in prose than to unpick it from generated CSS.
Treat the logo as its own task
A logo has to work outside the website too: on social profiles, in slide decks and in documents. Mixing it into the site prompt tends to produce something tuned only for the header, so give branding its own request.
Ask for a simple logo concept that feels minimal, contemporary, professional and distinctive, and that stays recognisable at small sizes. List where it must hold up: websites, social media avatars, presentations, documents, and both light and dark backgrounds. Briefly describe the idea the brand represents, then request:
- A visual concept.
- A typography direction.
- A colour palette.
- An icon or monogram idea.
- A version for light backgrounds.
- A version for dark backgrounds.
- An explanation of why the design fits the brand.
Add an explicit constraint to avoid intricate illustrations or symbols that rely on fine detail, since those collapse at favicon size.
Let the assistant handle implementation while you stay at the level of intent
Once the direction is settled, a coding assistant (ChatGPT and Codex, in the scenario this workflow comes from) can carry most of the implementation. The benefit is that instructions can stay at the level of what you want rather than which file and line to change:
- The banner is cut in half.
- Comment out these sections for now.
- Rename this button.
- Make this button scroll to the relevant section.
- Make the logo match the original artwork.
You still review every result, but you no longer have to navigate the codebase yourself for each small tweak.
Register the domain early and keep building locally
Registering a domain is quick: search, check availability, register and pay. Making it fully usable can take longer. In the scenario described here it took about 24 hours before everything resolved as expected; the delay you see will depend on the registrar and on DNS propagation.
That wait does not have to block development. Keep building and testing against a local preview using a tight loop: change, preview, review, fix, test again. Working locally also means half-finished experiments are never exposed publicly, and describing changes at a higher level spares you from hunting through multiple files to adjust individual lines.
Use the model as a reviewer, not only a builder
After the first version exists, ask the assistant to critique it. A review prompt should give it a role, restrain it from redesigning everything, and demand prioritised, actionable output.
Ask it to look at a screenshot as a senior UI and UX designer and, without unnecessary redesign, identify the biggest opportunities to improve:
- Layout: spacing, alignment and overall visual balance.
- Hierarchy and type: how clearly the eye is guided, font choices and readability.
- Consistency: colours and brand elements across the page.
- Responsiveness on smaller screens.
- Calls to action: whether each one is obvious and clearly worded.
Request that the findings be ranked, and that each one state what looks weak, why it matters and exactly what to change. Close by limiting it to changes that materially improve professionalism and usability. That last sentence is what keeps the review from turning into a list of cosmetic preferences.
Iteration is where most of the work happens
After the initial design, very little work involves creating something new. Almost all of it is improving what already exists, and short, precise prompts work best here. A reliable iteration template looks like this:
- A numbered list of the specific changes you want, one per line.
- A clear instruction not to redesign unrelated sections and to preserve everything that already works.
- A verification checklist the model must run after the edits: check the desktop layout, check the mobile layout, confirm that navigation links work, confirm that each button leads to the right destination, confirm nothing is accidentally hidden or cropped, and report any remaining problems it notices.
The preservation instruction deserves emphasis. Assistants tend to "improve" nearby code while fixing what you asked for, and an explicit constraint reduces that drift. The self-check list does not replace your own review, but it catches obvious regressions before you look.
From local preview to a live site with GitHub and Cloudflare
Once the site works locally, push its source to a GitHub repository. GitHub gives you version history and a safe way to roll back any change the assistant makes.
Next, connect that repository to Cloudflare so that each push to the repository triggers an automatic build and deploy. From then on, publishing is simply committing and pushing. For a small informational site, Cloudflare's free tier was enough in this scenario; check the current plan limits for your own needs.
When the domain is active and its DNS records are configured, attach the custom domain to the deployed project. At that point, typing the domain into a browser shows the live site.
What it costs, and where it does not fit
For this kind of project the running costs are modest:
- Domain registration: about $12 per year in this case.
- GitHub: free.
- Cloudflare: the free tier was sufficient.
- AI tools: whatever your ChatGPT or other assistant subscription costs.
Apart from the assistant subscription, the domain is essentially the only infrastructure cost.
This approach is not suited to every application. Anything involving payments, sensitive personal data, complex authentication, databases or regulated environments needs proper engineering: threat modelling, code review by someone who understands every line, testing and operational monitoring. For portfolios, landing pages, consulting sites, prototypes and simple content sites, though, the barrier to entry is dramatically lower than it used to be.
What the assistant does and does not decide
The assistant takes on a large share of execution: writing and editing code, translating design feedback into changes, troubleshooting visual glitches and explaining unfamiliar technical steps. Several decisions remain firmly human:
- What the site should represent.
- Which content matters.
- Whether the visual design feels right.
- When the first version is good enough to ship.
That moves the bottleneck. The limiting question stops being whether you can technically build the site and becomes whether you can clearly decide what you want. The implementation barrier drops; the need for judgement does not.
Key takeaways
- Define purpose, audience and core message before choosing any technology.
- Ask the model to propose and justify a design before it writes code, and approve the direction explicitly.
- Handle the logo separately so it works across every medium, not just the site header.
- Rely on short, specific iteration rounds with a "preserve everything else" constraint and a self-check list.
- Use the assistant as a critic as well as a builder, with prioritised and actionable feedback.
- Put the code on GitHub and let Cloudflare deploy on every push, so version control and hosting are automatic.
- Reserve this lightweight approach for low-risk sites. The value lies in how the pieces connect into one workflow: you own purpose, judgement and approval, the assistant absorbs execution, GitHub provides history and Cloudflare publishes.