A live dashboard for anything that can send a request.
Paste one prompt into Claude, ChatGPT, Cursor or Claude Code. Your AI asks what you want to see, then builds the board, fills it with live numbers, charts and logs, and adds the buttons you need to act.
See the prompt
Build me a live dashboard with InstantGUI (https://instant-gui.com): a free web board that scripts, devices and AI agents create and update over plain HTTP. No signup, no API key.
First, ask me what I want to see: what it should track, where the data comes from, and which buttons I'd want (pause, restart, run now). Then:
1. Create the board (once):
curl -s -X POST https://instant-gui.com/api/v1/boards -H 'Content-Type: application/json' -d '{"title":"My dashboard"}'
→ {"board":{"id":"<board>",…},"editLink":"…","writeToken":"<token>"}
Keep board.id and writeToken; send "Authorization: Bearer <token>" on every call. Give me the editLink: it opens the board for me (anyone with it can edit, so don't post it publicly).
If I already gave you an edit link (…/b/<board>/join?key=<edit key>), skip this step and use the edit key as <token>.
2. Declare every widget in ONE call (this example is a shop; replace it with what I asked for). It is idempotent: send it again whenever the layout changes. Grid is 12 columns, rows ≈ 52px.
curl -s -X PUT https://instant-gui.com/api/v1/boards/<board>/spec -H 'Authorization: Bearer <token>' -H 'Content-Type: application/json' -d '{"title":"Shop live","widgets":[{"key":"revenue","type":"kpi","title":"Revenue today","layout":{"x":0,"y":0,"w":4,"h":3},"config":{"prefix":"$","icon":"wallet"},"data":{"value":4820}},{"key":"ads","type":"actions","title":"Ad campaign","layout":{"x":0,"y":3,"w":4,"h":2},"config":{"buttons":[{"id":"pause","label":"Pause ads","tone":"danger"},{"id":"resume","label":"Resume ads","tone":"success"}]}},{"key":"revenue-trend","type":"line","title":"Revenue per day ($)","layout":{"x":4,"y":0,"w":8,"h":5},"data":{"series":[{"name":"revenue","points":[["2026-10-08",4100],["2026-10-09",4390],["2026-10-10",4820]]}]}},{"key":"orders-log","type":"log","title":"Recent orders","layout":{"x":0,"y":5,"w":12,"h":4},"data":{"entries":[{"t":1760000000000,"text":"#1045 · $129.00 · Organic","level":"success"}]}}]}'
Widget types: kpi / stats (numbers), gauge / progress, line (trends), bar, pie, table, status (health), log, actions / button / toggle / slider (controls), markdown (one short headline at most). Use real data, not samples.
3. Keep it live: push by widget key whenever a value changes.
curl -s -X POST https://instant-gui.com/api/v1/boards/<board>/widgets/revenue -H 'Authorization: Bearer <token>' -d '{"value": 5010}'
curl -s -X POST https://instant-gui.com/api/v1/boards/<board>/widgets/revenue-trend -H 'Authorization: Bearer <token>' -d '{"append": {"revenue": 5010}}'
curl -s -X POST https://instant-gui.com/api/v1/boards/<board>/widgets/orders-log -H 'Authorization: Bearer <token>' -d '{"append": "#1046 · $54.50 · Email"}'
Then write me the script or cron job that keeps pushing real values.
4. Check the design: curl -s https://instant-gui.com/api/v1/boards/<board>/lint -H 'Authorization: Bearer <token>' and fix every warning.
5. Buttons: read what I clicked with curl -s https://instant-gui.com/api/v1/boards/<board>/widgets/ads -H 'Authorization: Bearer <token>' (data.lastAction), or set config.webhookUrl to get a POST on every click.
Rules: numbers and charts over text; most important widget top-left; title every widget with its unit ("Revenue today ($)"); always include the actions I'd want next.
Prefer tools over curl? Add the MCP server: https://instant-gui.com/api/mcp (Claude Code: claude mcp add --transport http instantgui https://instant-gui.com/api/mcp). Tools: apply_board_spec, push_data, lint_board.
Full reference (every widget, embeds, design rules): https://instant-gui.com/llms.txt and https://instant-gui.com/llms-full.txt
When it's live, send me the editLink.No signup · Live in under a second · Or start from a template
Revenue today
CPU
Requests / s
Services
From zero to live in three steps
01Create a board
One click. No account, no setup, no YAML. Sign in later to keep it.
02Add widgets
KPIs, charts, gauges, tables, logs, status lights, buttons and more — drag to arrange.
03Push from your code
Every widget has its own URL. Send JSON and the board updates for everyone, instantly.
curl -X POST https:// instant-gui.com/ api/ v1/ boards/ <board>/ widgets/ cpu \ -H "Authorization: Bearer <token>" \ -d '{"value": 73}'
Append chart points with {"append": {"cpu": 73}}, log lines with {"append": "Deploy done"}, or flip a status with {"status": "down"}. Read the docs →
Start from a template
Every template is a real, editable board with sample data — replace it with yours when you’re ready. Browse community templates →
Bot control panel
Run a trading or Telegram bot from your phone: status, log, P&L and controls.
8 widgets
Server monitor
CPU, memory, uptime and service health for a box or a fleet.
7 widgets
Business KPIs
Revenue, signups, conversion and sales — the numbers your team checks every morning.
9 widgets
Home & IoT sensors
Temperatures, humidity, a camera snapshot and switches for your devices.
6 widgets
Real-time by default
Updates stream to every open screen in about a second. No refresh, no polling setup.
Two-way controls
Buttons, toggles, sliders and inputs your scripts can read — or get a webhook the moment they change.
Great on your phone
Boards reflow into a clean single column. Check your bot from anywhere.
Share with a link
Public view links, private boards, edit links for collaborators, and a TV mode for wall screens.
Built for machines
A tiny REST API, a GET-only URL for IoT devices, JSON import/export and strict validation with clear errors.
AI-agent ready
Connect over MCP and let Claude, Cursor or your own agent build and update boards for you.
Get the MCP URL →30 widgets, one simple API
Every widget validates what you send and tells you exactly what’s wrong if it doesn’t fit.
Metrics
- KPI
- Stat list
- Gauge
- Progress
Charts
- Line chart
- Bar chart
- Pie / donut
- Scatter
- Radar
- Tree / org chart
Data
- Table
- Live log
- Checklist
- Kanban board
- Timeline
- Team
Status
- Status board
- Indicator
Controls
- Button
- Action buttons
- Toggle
- Slider
- Text input
- Select
Content
- Text
- FAQ / accordion
- Image
- Embed
Time
- Clock
- Countdown
Your script reads the switches
Pause a trading bot, change a threshold or trigger a job from your phone. Scripts read the current value with one GET — or receive it on a webhook.
import requests
state = requests.get(f"{BOARD}/ widgets/ trading", headers=AUTH).json()
if state["widget"]["data"]["on"]:
place_orders()Or just ask your AI agent
Add InstantGUI as an MCP server and your agent can create boards, add widgets and push data — then hand you the link.
"Create an InstantGUI board for my homelab: CPU, memory and disk gauges, a status list for my 4 containers and a log. Then write the cron script that keeps it updated."
MCP server URL (Streamable HTTP): https://instant-gui.com/api/mcp
claude mcp add --transport http instantgui https:// instant-gui.com/ api/ mcp
No token needed to connect — each board you create gets its own write token.
Your first live board is one click away
Paste the prompt into your AI and tell it what you want to see. Free, no account — sign in only when you want to keep it.