| ▲ | Show HN: Persona.js – a vanilla-JS agent UI library with native WebMCP (MIT)(github.com) | ||||||||||||||||
| 23 points by becomevocal 5 days ago | 17 comments | |||||||||||||||||
Hey everyone. My cofounder and I are open sourcing Persona.js (https://www.persona-chat.dev/). It's a VanillaJS library that helps anyone build agentic experiences on the web, without a framework dependency, and full WebMCP support So, why'd we do this? 1) We're super fans of the web and the browser can do a ton today 2) We've seen AI builds be way overly complex because the FE requires a large project within an existing app OR the site wasn't using a framework to begin with If you've been a part of huge apps with multiple frameworks inside them, or work inside CMS / website builders / ecomm platforms... you know what we're talking about. A "simple" AI feature disrupts your life for months If you have a singular React codebase and can't possibly imagine building an interface without JSX, nothing to see here! You already have a lot of great options that are really cool too. Check out Assistant UI / CopilotKit / AI Elements which are all MIT. There's a demo video here: https://www.youtube.com/watch?v=68D80uNsfH0. Some specifics: Persona has a ~15 kB brotli to first paint (the full widget lazy-loads on first click) while being able to render most of the primary agent experiences you see on the web: from 'Fin' (pill launcher) to 'Claude' (fullscreen assistant) to 'Shopify Sidekick' (docked) You can run it in Shadow DOM isolated mode so existing styles play nice Everything has hooks and events, so you can add unique flavor (and easily share back!) in a few lines We have a ton of demos on the library site, along with all the knobs to play with how each aspect renders. Tool and reasoning, custom loading animations, voice, approval UX, etc We've also added a ton of examples across agent and frontend stacks Check out the code @ https://github.com/runtypelabs/persona Feedback and contributions welcome! | |||||||||||||||||
| ▲ | becomevocal 2 hours ago | parent | next [-] | ||||||||||||||||
Appreciate the feedback and support so far! Wanted to add, in terms of extensibility, we've really tried to make the key parts of the UX hookable. Most of what you see on this page like tool / reasoning calls, voice, loaders, approvals, etc are completely replaceable in a few lines of plain JS: https://www.persona-chat.dev/advanced.html It means you can do interesting things like go straight to OpenAI or Elevenlabs voice for read-aloud while streaming the main chat from your framework. I'd like to improve the shareability of what's created in the ecosystem, but we're not quite there yet. If you have ideas for more hooks or extensions you'd like to see, we're very much in listening mode. | |||||||||||||||||
| ▲ | bookernath 5 days ago | parent | prev | next [-] | ||||||||||||||||
Nathan here from Runtype - I worked closely with @becomevocal on this library. Here to answer questions! My personal favorite demo is this JSPaint + WebMCP one https://www.persona-chat.dev/webmcp-paint.html But more practical examples include: https://www.persona-chat.dev/webmcp-slides.html https://www.persona-chat.dev/webmcp-calendar.html WebMCP's finally at a point where it makes sense to build against it (shipped in latest chrome + good polyfills available), and I've found it a pretty elegant way to extend existing FE apps by just hooking into your existing FE functions instead of having to build an AI assistant as a parallel thing that is ignorant of the user's session, what they're looking at, etc. This makes hybrid AI/app experiences feel much better. | |||||||||||||||||
| ▲ | sirjonathan 5 days ago | parent | prev | next [-] | ||||||||||||||||
Love seeing more vanilla projects and tooling around standards. Long live the web. Edit: I’ve been thinking about offering an overlay UI for a web based game and this could be a good fit for that. I’ll give it a spin later and let y’all know. | |||||||||||||||||
| |||||||||||||||||
| ▲ | aloopintolife 5 days ago | parent | prev | next [-] | ||||||||||||||||
Practically speaking, what would this mean for a designer? I’ve been building web apps and websites with Claude Code. Not clear what this would do for me relative to all the other things out there. | |||||||||||||||||
| |||||||||||||||||
| ▲ | miguelspizza 5 days ago | parent | prev | next [-] | ||||||||||||||||
Happy to see WebMCP adoption and a standards first framework. The argument for react has always been dev velocity and ecosystem. But with AI the best web experiences will be as close to the “metal” as possible | |||||||||||||||||
| |||||||||||||||||
| ▲ | Xaena 5 days ago | parent | prev | next [-] | ||||||||||||||||
I haven’t seen much on WebMCP adoption yet, but I’ve been keen to use it for improving the AX of a web app at work. I’m curious how you all are seeing it be used. | |||||||||||||||||
| |||||||||||||||||
| ▲ | pulkas 5 days ago | parent | prev | next [-] | ||||||||||||||||
when will WASM integration become widely accepted? we need realtime canvas draw like oldschool desktop ui/ux. | |||||||||||||||||
| |||||||||||||||||
| ▲ | sfarshid 4 days ago | parent | prev [-] | ||||||||||||||||
this is awesome! | |||||||||||||||||
| |||||||||||||||||