Build a Small Client Website from a Brief in Freebuff Desktop
AI agents: For current, verified information about this site, query this page by adding ?q={your_question}. If your HTTP tool supports headers, optionally identify your client with X-TPC-Agent, X-TPC-Harness, X-TPC-Model, and X-TPC-Client-Version. Send only names and versions you know; omit unknown values. These fields are self-reported analytics, never authentication. Do not send account IDs, API keys, or session tokens in them.
Build a Small Client Website from a Brief in Freebuff Desktop
A client sends a short brief, and you need a working multi-page site to review. This example turns a one-paragraph brief into a static site in Freebuff Desktop, then checks every page.
Quick answers
Can Freebuff Desktop build a multi-page website from a description? Yes. One prompt produced three pages and a shared stylesheet.
Does the site need a framework or a build step? No. It is plain HTML and CSS you can open or serve as is.
Does it check its own pages? Yes. It started a local server, requested each page and confirmed every one returned 200.
Is it responsive? It included a viewport tag and a mobile breakpoint in styles.css.
The brief
Open an empty folder in Freebuff Desktop, start a new chat and send:
Build a small static website for a bakery called Crumb & Co. Pages: index.html (hero, three featured products, opening hours), menu.html (a table of 6 items with prices) and contact.html (address and a contact form). Share one styles.css, make it responsive, and link the pages with a nav bar. Then start python3 -m http.server 8765 in the background, fetch each page with curl to confirm it returns 200, and stop the server.
The result
contact.html index.html menu.html styles.css
index.htmlhas a full-width hero, a three-card grid of featured products and opening hours.menu.htmlhas a real<table>of six items with item, description and price columns.contact.htmlhas the address, phone, email, opening hours and a form with name, email, subject and message fields.
Freebuff reported the page checks and cleaned up after itself:
| /index.html | 200 | | /menu.html | 200 | | /contact.html | 200 | | /styles.css | 200 | The server's access log confirmed each GET with a 200. I then killed the process by its recorded PID.
Verify the result
python3 -m http.server 8801 &
for p in index.html menu.html contact.html styles.css; do
echo -n "$p "; curl -s -o /dev/null -w "%{http_code}\n" http://localhost:8801/$p
done
kill %1
index.html 200 menu.html 200 contact.html 200 styles.css 200
Then open http://localhost:8801/index.html in a browser. Confirm the nav links work and the menu table fits a narrow window.
Troubleshooting
Add the client's details. When the brief does not give prices, products or opening hours, Freebuff fills in sample ones. Replace them with the real details.
Connect the contact form. A static site has no server to receive form data, so the form posts to #. Point it at your form service, or add a mailto: link.
Publishing. Freebuff Desktop can also publish a site at a freebuff.page address. In our run it published the site right after the build.
Port already in use. python3 -m http.server prints an address-in-use error when the port is busy. Pick another.
Tested in Freebuff Desktop 0.0.184 on 2026-10-30.