A website that works for your business — even while you sleep.
By Zavora Technologies Ltd · Built on ADK-Rust and Meta Muse · Watch the hackathon demo (2:58) · Day 2 showcase (2:06) · Posting-size copy (17MB) · Watch the Day 3+4 showcase (2:01)
Websites sit there. The numbers say businesses can no longer afford that:
| The brochure web, quantified | Source |
|---|---|
| 43% of all websites run WordPress — 200M+ sites on yesterday's model | W3Techs, Oct 2025 |
| 58% fewer clicks for the #1 result when AI answers first | Ahrefs · 300,000 keywords |
| 47 hours average reply to a website lead; buyers decide in 5 minutes | HBR / MIT research |
| $4.4M average cost of one data breach; ~$120k per attack for small firms | IBM, 2025 |
| ~50% of all internet traffic is now agents, not people | Imperva |
Your next visitor may not be a person — and a website that cannot serve agents is invisible to half its audience, while the half it can see waits 47 hours for a reply.
Websites 1.0 were read. 2.0 were clicked. 3.0 was plumbing. 4.0 works.
An Agentrix Website greets, sells, publishes, supports, and defends
itself — with the owner approving anything that matters. It is built from
Agentrix OS (every app an agent, a
spatial field, a verb UI) on ADK-Rust's adk-kernel (always-on agent
scheduling), adk-harness (governed autonomy), adk-website/adk-awp
(publishing and the agent protocol), and Meta Muse models.
Migration needs no credentials. Paste a WordPress, Shopify, or blog address: the public site is read, rebuilt, and verified — then it starts working.
Everything on the website is now an agent:
| Staff member | What it does all day |
|---|---|
| Concierge | Greets every visitor in their language, answers, books, qualifies |
| Display Agent | Re-arranges the shop around each visitor's intent — and says why |
| Product Agents | Each product knows its stock, answers questions, watches prices, confirms orders |
| Editor | Drafts content in the owner's voice; publishes only past the gate |
| News + Newsletter Agents | Watch the world, write only with approval, send only to the willing |
| Live Event Agent | Hosts launches and live sessions, holds seats, follows up |
| Marketer | Generates leads, converts, remarkets — inside a budget the owner set |
| Watchman | Reads the logs, blocks attacks, holds anything suspicious |
| Cashier + Keeper | Money always waits for a human; costs, stock, and the morning update run themselves |
| Audience | What they get |
|---|---|
| People | A place: calm, beautiful, familiar — never a bot costume |
| AI agents | A protocol: a public CLI with verified access, fair prices, and receipts — no scraping |
Same prices, same stock, same signed truth under both. One site agent serves thousands of connected agents at once; no human page is ever loaded for them.
- Generate leads ✓
- Convert visitors ✓
- Provide support ✓
- Remarket ✓
- Give owner updates ✓
- Manage its own costs ✓
- Manage inventory ✓
Owner approves actions when prompted. Autonomy is a ladder the owner controls, with a freeze switch — never a leap of faith.
| If you run | The website | The outcome |
|---|---|---|
| A shop or boutique | Answers shoppers, confirms stock, takes orders overnight | Sales while you sleep — you approve every order |
| A salon, clinic, or repair desk | Quotes, books visits, sends reminders, follows up | A full book with no missed calls |
| A blog or publication | Publishes in your voice, replies to readers, grows the list | Readers who return — and subscribe |
The live boutique below is the first one, working today.
Live now at classyperfumes.shop:
| Live | Open |
|---|---|
| The boutique shelf | classyperfumes.shop/shop |
| Design a perfume with Nez AI | classyperfumes.shop/atelier |
| Owner console (demo sign-in prefilled) | classyperfumes.shop/console |
| Migrate a website | classyperfumes.shop/migrate |
Earlier concepts and videos:
| Concept | Open |
|---|---|
| Visitor World, verb bar, night shift, Agent View | concept/index.html |
| Everything is an agent + Agent CLI | concept/v2.html |
| Spatial field, center stage | concept/v3.html |
| 3D product stage | concept/v4.html |
| Hackathon demo: one night, recorded live | video/out/hackathon-demo.mp4 · script |
| Day 2 showcase video | video/out/day2-showcase.mp4 |
Serve locally: python3 -m http.server --directory concept, then open
http://127.0.0.1:8000/v4.html.
The repo is one Cargo workspace — every command below runs from the repo root:
./demo/serve.sh # perfume boutique in dry-run on 127.0.0.1:8472
./demo/agent.sh # agent walkthrough against the demo (needs serve.sh)
cargo test --workspace # full suite, offline
cargo test -p agentrix-site-serve # one crate
cargo run -p agentrix-site-edge # edge on 127.0.0.1:8471Live model instead of the scripted stand-in: DEMO_DRY_RUN=0 with
BASETEN_API_KEY in .env (see site-serve/README.md).
Prerequisite: clone adk-rust next to
this repo — several crates depend on it by path (../../adk-rust), and the
build fails without the sibling checkout. CI checks out main.
| Day | Spent | Shipped |
|---|---|---|
| Day 1 | Research + foundation | Thesis, ADK-Rust review, Meta Muse provider |
| Day 2 | Concepts + design + showcase | Four interactive concepts, complete vision, video |
| Day 3+4 | $47 of the $50 | Boutique, atelier, console desks, migration, video |
| Day 5 | $3 of the $50 | Shipping and deployment: live site, TLS, demo video |
| Total | $150 of $150 | Live at classyperfumes.shop |
Feedback wanted: what should the website learn to do next? Open an issue — or walk the live boutique and tell Nia.
One static binary does everything. agentrix-site-serve --data DIR --addr ADDR --template T serves HTTP (Axum); --mcp / --acp /
--a2a expose the same desks over stdio protocols instead. In
production Caddy terminates TLS and reverse-proxies localhost, and
systemd keeps both alive. No external database, queue, or cache —
state is files under --data.
| Crate | Responsibility |
|---|---|
site-serve |
Composition root: router, shop, atelier, console, CLI, protocol shims |
site-edge |
Holds, releases, the admission gate |
site-concierge |
Grounded answers, voice memos, miss signals |
site-commerce |
Stock, prices, held orders, cashier ledger |
site-growth |
Content desk, lead magnets, schedules, triggers |
site-inbox |
Visitor signals the site couldn't answer |
site-defense |
Request screening, guardrails, freeze switch |
site-release |
Versioned releases, go-live cards |
site-migrate |
Crawl → WorldSpec → parity-scored candidate |
site-host |
Tenancy: one binary, many shops |
site-mail |
Newsletter queue |
The agent runtime comes from
ADK-Rust: adk-kernel
schedules always-on work, adk-harness governs autonomy,
adk-runner executes turns under budgets with action ledgers,
adk-model serves Meta Muse, adk-session persists sessions, and
adk-server runs durable background work.
--data holds cards.db, commerce.db, corpus.db, defense.db,
growth.db, kernel.db (durable runs), releases.db,
sessions.db, tokens.db, plus the atelier/ portrait directory
and migrate-jobs/. Each store opens its own file (mode=rwc) and
owns its schema; nothing joins across files.
All agents run Muse through Baseten (BASETEN_API_KEY,
BASETEN_MODEL, BASETEN_BASE_URL). --dry-run replaces the
model with a scripted stand-in, so the full suite runs offline and
free. Portraits and voice memos call Meta's image and transcription
APIs directly (META_API_KEY); a deterministic house composer
covers the atelier when the model is unreachable.
Every tool call — concierge, atelier, desks, CLI — dispatches through one authorization path with per-call budgets and a shared action ledger. Anything above the hold line (charge, publish, admit) becomes a held card instead of an action; an owner's decision binds to the call's fingerprint (agent, origin, tool, canonical args), not its ID. The freeze switch halts all dispatch at once.
notice → draft → hold → approve → act → learn
Signals (visits, questions, misses, sales) plus a minute worker wake
the desks; Content Editor, Lead Gen, Site Agent, and Defender draft;
drafts hold as cards; the owner approves in /console; approved
cards execute under budget; misses feed the next draft cycle. The
desks keep waking on kernel schedule with zero visitors connected.
Agents never scrape: a public CLI with verified tokens
(tokens.db), an MCP server, ACP, and A2A v1.0.0 serve Shop
Assistant, Sales Rep, and Feedback Agent. Internal desks (content,
reputation, chief of staff, security) are owner-only and unreachable
by token.
Humans: the owner signs /console with a cookie session
(OWNER_PASSWORD; the public demo prefills the documented demo
password). Machines: per-stall verified tokens with no console
access. Defense screens every request before routing.
Apache 2.0 — see LICENSE.





