public beta previewstart your free trial →

Agent Mode · for SaaS builders

Asking is the new clicking.

Don’t leave your customer in the maze. Turn on your product’s Agent Mode. They ask, it happens, and generative UI draws a bespoke interface for every request.

Add Agent Mode → See a live agent work

7-day free trial

book.lockandlune.studio L. Chen · client
My bookingsBook againStylists Gift cardsProfile
Agent
Move my Thursday cut to Saturday morning on it…
Ask anything

My bookings

Lock & Lune StudioUpcomingPast
Cut & finishwith DanaThu 4:30
Color consultwith MayaMay 12
Cut & finishwith DanaApr 2 · done
Beard trimwith SamMar 5 · done
generative canvas
drawing a bespoke surface…
Saturday with Dana

Morning slots, drawn for your booking.

Sat 9:30 amPick
Sat 10:15 amPick
Sat 11:00 amPick
Moved to Sat 10:15 am Dana notified · confirmation sent

the same product, the same data. flip the switch, then watch Thursday’s booking move

The maze

Twenty-two clicks, or one question.

vs

Dashboard Maze 😩

0 clicks
SettingsBillingUsageReportshmm…← backBillingInvoicesFiltersQ3which format…← back
one support ticket · one sigh

Agent Mode 😊

1 ask

“Export Q3 invoices as CSV.”

✓ export card drawn · one click to download

Every question your dashboard cannot answer in one click is a ticket, a churn risk, or a conversation happening in someone else’s window. The maze is not a UX bug. It is what any deep product becomes. The fix is a second way in.

Why Guuey?

Because the machine under Agent Mode is one of one. Every answer is generative UI on the open GGUI protocol, an invalid interface never renders, and the runtime below does things most platforms cannot. The receipts:

A locked room.

One isolated runtime per app. Your data stays inside its walls, and heavy tools, running code, crunching files, transcribing audio, never leave it. Most platforms cannot host that.

runtime · one pod per app
vacant
runtime · isolated pod
acme-invoices pid 1 · running
vacant
neighbors: none · nothing shared
reach outside the walls blocked at the wall
heavy tools inside full speed

Human-in-the-loop (HITL)

Nothing irreversible happens alone.

It acts as the signed-in customer, with exactly their permissions, nothing more. And anything destructive draws a confirmation surface first, held until a human clicks.

run · human in the loop
scan_drafts()3 stale drafts
invoices.delete(ids)held
held · needs a human
Delete 3 draft invoices?
INV-0107INV-0108INV-0112

Drafts for Acme Inc, untouched for 30 days. Nothing is deleted until you decide.

run paused · waiting on Jess

It remembers.

Each customer’s context, kept.

per-user memory · trimly
10
visits with Jess
v2lives in GMT-5, books mornings
v4stylist is L. Chen, no one else
v8usual slot is Saturday 10:00
"the usual please"
Sat 10:00 with L. Chen, booked
Show more

Per-user memory is a durable home per customer. The agent keeps context between conversations: preferences, history, the small facts that make the tenth chat feel like the tenth. Signed-in customers only, guests stay anonymous, and nothing is used beyond answering that user.

It scales itself.

Launch-day traffic is our problem.

run · scale out across pods
3p
4p
5p
the Trimly drop goes live6p
7p
8p
pods 1 → 6
fri 6:02 pm · x6 traffic · queue held at zero, settled back down by 9
Show more

Each app runs on its own pods, and pods follow demand. A quiet Tuesday costs a quiet Tuesday. A launch spike scales out, then settles back down. Concurrency is enforced per plan, so the bill stays inside the plan.

The UI cache.

Interactive UI, served cheaper and faster.

run · the ui cache
key = content-hash(ui blueprint)
run 1 9f2c41ab
drawn
run 2 9f2c41ab
hit
cache hit the surface renders once, serves again. answers stay live
Show more

The cache is for generative UI, never for answers. A surface the protocol has drawn before gets a deterministic content-hash key and renders again instantly, while the agent thinks fresh every time. The interface work is what gets cheaper and faster.

A/B, native.

Serve both, keep the winner.

ggui experiments · native a/b
exp: book_time_surface live
A 57%
Pick a time
10:00 2:30 4:15
B 43%
Pick a time
Choose a slot
A · chips · leading B · dropdown
n = 1,204 sessions · Trimly booking flow
Show more

Experiments live in the GGUI protocol itself. Serve two versions of a surface to real traffic, measure which one gets pressed, keep the winner. No third-party experiment tool bolted onto your agent.

You watch it work.

Every conversation, live in the console.

live tail · trimly · prod
Sessions Deployments Logs
12:04:01session sess_8f2c opened · Jess
12:04:02tool booking.search ok 212ms
12:04:04ui slot picker rendered
12:04:07Jess picked thu 2:30 pm
12:04:09tool booking.confirm ok 98ms
streaming from pod trimly-prod-1
Show more

Sessions, Deployments, and Logs are console pages, not add-ons. Read any conversation, watch a deploy go healthy, tail the pod live. When something looks off, you see it in the same minute.

Every ask is a roadmap signal.

Sessions keep every conversation. The asks your customers type are the feature list they never put in a survey. The deflected tickets are the savings. This is the intelligence.

sessions · most asked this week
“Can I export this to Sheets?”×31
“Do you integrate with Slack?”×19
“How do I add SSO?”×12
“Where is the audit log?”×7

numbers illustrative. the feed is the console’s Sessions page, aggregated

A SKU, not a cost line.

A second way to use your entire product. Something your customers pay for, not something you absorb like a support tool.

Guuey’s side of it: plans from $49 a month per app, 7-day free trial. Pricing →

Starter$29 / mo
Pro$79 / mo
+ Agent Modeyour call

your pricing page, one row later

Super simple. Fully armed.

Adopting it is an afternoon in the console, not a quarter on your roadmap. Whatever your setup demands, one of the paths below fits it. Start now, this is the whole journey:

Define system prompt

Describe your product, the rules, the voice. If you can write an onboarding doc, you can brief an agent.

console · agents · acme-invoices · behavior
Behaviorplain words, not code

Acme helps teams ship invoices fast. Friendly, concise, never jargon

draft saved68 / 2000
voice
friendlyconciseformalplayful
rules
never jargon+ add
↳ becomes the system prompt on deploy

Choose the brain!

Claude out of the box. GPT and Gemini in the same dropdown. Swap without touching your page.

console / models / acme-support
Claude
GPT
Gemini
agent: acme-support
framework: claude-agent-sdk
Swap the model with one line. The agent stays the agent.

Connect MCP tools.

One port. Every tool.

MCP is the port, and Guuey speaks it natively. Plug in whatever your product needs: connect a server you already run, hand yours to us, wrap your API, or build one inside the agent’s walls. Registries and scoped hosted state ride along. MCP docs →

HOSTED ON GUUEY THE AGENT'S RUNTIME · ONE POD Trimly AGENT in-pod server stdio · zero hops IN-POD standalone server your code · we run it WE HOST api adapter your API, wrapped as MCP WE WRAP mcp.yourapi.com yours · anywhere CONNECT Connect it, hand it to us, wrap it, or build it inside.
Your serverexternal
CONNECT

You already run an MCP server, for Claude or anyone else. Point the agent at its URL. It stays on your infra, your deploys, untouched.

best for: teams already shipping MCP in prod

Standalonehosted on Guuey
WE HOST

A full MCP server of your own, and we run it: scale-to-zero hosting, TLS, secrets handled. Ship the code, keep the ownership.

best for: a real server you want off your infra

API Adapterhosted on Guuey
WE WRAP

Already have your own API? Then wrap it as MCP, easily. A thin adapter maps tools onto the endpoints you already have. No new service to own.

best for: the fastest path from API to agent

In-podbeside the agent
IN-POD

Any stdio server, living in the agent’s own pod. Zero hops, full sandbox. Real work: code, files, audio.

best for: heavy tools that never leave the sandbox

Credentials · MCP proxy

Connect an account once, and the MCP proxy does the rest: per-app grants, secrets injected at call time, OAuth tokens sealed at rest. The agent pod never holds a credential.

Custom theme

It dresses like your product.

Define your own custom theme on the Design page: colors, type, shape. The widget wears it, and so does every surface the agent draws. Generated UI arrives already dressed as your product.

console · design · pick a brand
Acme

Invoices, out the door.

Send, track, get paid.

INV-0107$1,200 · paid New invoice
Need a hand with an invoice?
M Ask Nori

the generated surfaces inherit the theme too

Preview your agent

Try every answer before a customer sees one. Change the brief, ask again, watch it improve.

Console · Playground
you can you fit Jess in for a trim on thursday?
sure, three openings thursday, pick one
drawn surface · 1.2s
Trimly · Thursday with L. Chen
11:002:304:15
Book 2:30Swap day
rehearsal only · nothing goes live ↻ run again

Distribute

Three ways to ship it, and one will fit. Pick what fits today, switch any time.

Script tag widgetone line
<script src="…/v1.js" data-app="acme">

Drop one line of HTML. The launcher appears in your corner, themed, ready to answer. The fastest route by far.

for your landing page or app, today

Embed SDKone afternoon
<GuueyChat appId="acme" />

Integrate natively with the SDK. Mount the conversation anywhere in your UI, control the surface, keep your routing.

for a true in-app Agent Mode

Portal & share linkzero code
guuey.app/acme
share the link · listed in the app

Share the agent’s own link, or let customers find it in the Guuey app on web and mobile. Nothing to install in your product at all.

for starting before you touch your codebase

Every channel includes

Custom domains, guest mode, metered per-app billing, and updates without a redeploy. Switch channels any time, the agent stays the agent.

The teardown: your product in Agent Mode, free.

Send us your product’s public MCP server. We record your product answering in working UI and send the video back.

one per company

The questions builders ask.

Can it take a wrong action?

It can only act through the tools your MCP server exposes, as the signed-in user, with their permissions. Anything destructive gets a confirm card before it happens.

Does it work with our auth?

Yes. Bring your own identity. Your login stays the login, and the agent sees exactly what that user is allowed to see.

What happens to our data?

It is used to answer your users and nothing else. The agent runs alone in its own runtime, one isolated pod per app, and every session inside runs in its own sandbox.

We do not have an MCP server.

Then yours is a thin translator over the API you already have, and Guuey hosts it. If you have one, you are a config file away.

What does it cost?

Plans from $49 a month per app after a 7-day free trial. Pricing →

Flip it on.

One script tag inside your product. Your MCP server, or ours to start. Agent Mode tonight.

Start your free trial or ask our agent about it