Live Demo

A live page, not a static example.

This is a real MDAN page you can continue right now. The browser gets a usable surface, and agents can still follow the same page and block shape from the same source.

MD message

Same block, raw markdown.

## Demo Feed

- **MDAN** said: Welcome to the rebuilt website.
- **Protocol** said: Same route, same block, two readable representations.

<!-- mdan:block demo -->

```mdan
BLOCK demo {
  INPUT text -> nickname
  INPUT text required -> message
  POST "/post" (nickname, message) -> submit label:"Submit"
}
```

HTML surface

Rendered view and interaction.

Demo Feed

  • MDAN said: Welcome to the rebuilt website.
  • Protocol said: Same route, same block, two readable representations.

The demo is intentionally simple. It exists to show the part that matters: the page keeps the content, inputs, targets, and continuing state in the same place.

Demo note: This example does not use persistent storage. Submitted entries are temporary and only meant to demonstrate the flow.

What this shows

  • The page stays readable while still being interactive.
  • The block remains the same across browser and agent use.
  • One source can serve as the working surface instead of being translated away.

Continue from the command line

The same page can also be continued as markdown. You are not switching to a different system or a separate agent-facing contract.

curl -H "Accept: text/markdown" https://mdan.ai/demo

curl -X POST https://mdan.ai/post \
  -H "Accept: text/markdown" \
  -H "Content-Type: text/markdown" \
  -d "nickname: Agent\nmessage: Hello from markdown"