frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: Persona.js – a vanilla-JS agent UI library with native WebMCP (MIT)

https://www.persona-chat.dev/
10•becomevocal•7h ago
Hey everyone. My cofounder and I are formally open sourcing (MIT) persona.js. 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

----

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!

Comments

bookernath•7h ago
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.

Xaena•7h ago
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.
bookernath•7h ago
It's definitely early - it shipped in the very latest version of chrome just this week, and the spec may still evolve (as a fair warning to early adopters).

You can turn it on for your site via the chrome origin trial, or just install the polyfill.

Our use case with Persona is all about extending existing apps to have "AI assistance" that actually works well, and Persona being the AI assistant you can ship yourself in your site to enhance your app. There's a parallel camp who are interested in adding WebMCP tools to their sites so they can be used effectively by future browser-level agents (e.g. Gemini in Chrome), but that's not a thing today.

Some AI agents can already do best-effort operation of existing websites via naive 'headless browser' approaches, or doing their best to interpret the existing nature of a page by reading the DOM or accessibility tree and trying to submit the forms, but that's flaky and token-inefficient. WebMCP is all about registering those things as explicit, designed tools built for agents. I'd draw a parallel between asking agents to just call existing REST APIs for an app vs intentionally designing MCP APIs for them; the design philosophy is different.

For those interested in good MCP/WebMCP tool design principles, this article from Arcade.dev is great: https://www.arcade.dev/blog/mcp-tool-patterns/

pulkas•7h ago
when will WASM integration become widely accepted? we need realtime canvas draw like oldschool desktop ui/ux.
bookernath•6h ago
Do you think the new WASI 0.3 stuff will help? I hope so. I'm always super impressed when I see an awesome WASM + WebGPU implementation that doesn't spin up my laptop fan.

For canvas/WASM-style apps, I actually think explicit agent-facing APIs become even more important. If the UI is mostly pixels, an agent has less useful DOM/accessibility structure to infer from. WebMCP gives the app a way to expose semantic actions like “create shape”, “select layer”, “export”, “run simulation”, etc. regardless of whether the UI underneath is React, vanilla DOM, canvas, or WASM.

becomevocal•4h ago
IMO there's a lot more we can do around hooking into the DOM directly, with more efficient data formats over the wire, before we absolutely need WASM

We'd like to experiment more with this but haven't got their yet. Just some internal prototyping

miguelspizza•7h ago
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

bookernath•6h ago
Thanks, means a lot coming from you!

I agree re: getting closer to the metal - it seems like HTML is having a big resurgence as agents are very productive at producing HTML artifacts which are often 'good enough' for many content use cases, and fortunately Persona works great as an embed in a static site. We spin up demos like that all the time.

becomevocal•6h ago
Appreciate it. And thank you for the work on WebMCP!

For everyone passing by, Alex created https://docs.mcp-b.ai/ and we use two of his libraries to enable WebMCP more cleanly. We found MCP-B after we built our own

It's interesting how experimental web tech vs. frameworks are. Kind of flipped once React and Next.js took off. Now we get to see what the browser can do again. Find the balance that works for each case

Note we actually use React / Vite and Next with Persona across a few of our products. It's nice in our case because the agent specific state (including event debug stream if you turn that on) doesn't need to interact with the main app at all. Keeps updates to agent UX from blowing up other parts of the app

sirjonathan•5h ago
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.

becomevocal•5h ago
Thanks! Definitely interested in the game overlay use case.

My gut says you'll need want to hook into custom render functions and theme config to map to your game styles, since it's going to look very different than the standard OOTB options.

The best file to use as a starting reference is here: https://github.com/runtypelabs/persona/blob/main/packages/wi...

If you run into anything, GH issues are welcome!

aloopintolife•2h ago
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.

Show HN: TownSquare, a tiny presence layer for websites

https://townsquare.cauenapier.com/
83•cauenapier•15h ago•27 comments

Show HN: Make PDFs look scanned (CLI or in the browser via WASM)

https://github.com/overflowy/make-look-scanned
95•overflowy•8h ago•47 comments

Show HN: StartupWiki – A Free Alternative to Crunchbase

https://startupwiki.tech/
165•shpran•10h ago•55 comments

Show HN: We post-trained a model that pen tests instead of refusing

https://www.argusred.com/cli
76•dk189•13h ago•36 comments

Show HN: My Windows XP portfolio with working Game Boy and iPod

https://mitchivin.com/
55•mitchivin•7h ago•26 comments

Show HN: Tiny – An interpeted dynamic langauge with inline Go native functions

https://github.com/confh/Tiny
36•confis•8h ago•5 comments

Show HN: Microcrad – Micrograd Reimplemented in C

https://github.com/oraziorillo/microcrad
64•oraziorillo•3d ago•21 comments

Show HN: Ember, a native iOS Hacker News reader I built around accessibility

https://github.com/DatanoiseTV/ember-hackernews
90•sylwester•9h ago•21 comments

Show HN: Rocannon – Any Ansible module to MCP Tool, record sessions as playbooks

https://github.com/msradam/rocannon
2•msradam•2h ago•0 comments

Show HN: Agentic coding workflows built on Git worktrees and task evidence

https://github.com/alex-reysa/glueRun-go
5•alexreysa•2h ago•0 comments

Show HN: Domphy – plain-object UI for tool apps, AI-correctable output

6•khanhhuunguyen•2d ago•2 comments

Show HN: Codeflowmap – map a codebase's read/write/auth data flows

https://github.com/man-consult/code-mapper
3•brian-m•3h ago•0 comments

Show HN: FERNme – agent memory that updates with ~zero LLM calls

https://github.com/mirkofr/FERNme
3•mirkofr•3h ago•0 comments

Show HN: HN Game Stories – mini-documentary of games that hit the front page

https://video.intellios.ai
2•coolwulf•3h ago•0 comments

Show HN: Vitrus – the company brain that tells you what it doesn't know

https://github.com/ahmetvural79/Vitrus
3•ahvural•3h ago•0 comments

Show HN: Criterion Closet as a website – pull any of 1,247 films off the shelf

https://the-criterion-closet.vercel.app
21•olievans•13h ago•7 comments

Show HN: Lean bulk, cut, body recomp. Calculate maintenance calories

https://macrocodex.app/
11•faangguyindia•1h ago•2 comments

Show HN: TLA+ Process Studio

https://tlaplus-process-studio.com/?example=meeting-lifecycle
6•uptodatenews•4h ago•0 comments

Show HN: Onsight: pay a local to photograph any spot in San Francisco, on demand

https://onsight.photo/san-francisco
7•pro_methe5•4h ago•2 comments

Show HN: Notedog – Git-friendly portable Markdown journal, edit from a laptop

https://notedog.run/
4•hibariya•4h ago•0 comments

Show HN: Talos – Open-source WASM interpreter for Lean

https://github.com/cajal-technologies/talos
100•mfornet•2d ago•27 comments

Show HN: Metiq: a real time 3D globe for 100 public datasets

https://metiq.space
143•rakeda•4d ago•42 comments

Show HN: GitGauge – A Way to Try Tell If a Repo Is Authentic

https://github.com/Davey2Waveyy/gitgauge
4•davey2wavey•5h ago•1 comments

Show HN: LoopFlow – loop engineering for Claude Code

https://github.com/faisalishfaq2005/loopflow
3•faisalishfaq•5h ago•1 comments

Show HN: Gerrymandle - Daily puzzle game where you redraw electoral districts

https://gerrymandle.cc/
226•realmofthemad•2d ago•77 comments

Show HN: MiniPCs.zip (charting the pareto frontier of MiniPCs)

https://minipcs.zip
3•yathern•7h ago•0 comments

Show HN: Persona.js – a vanilla-JS agent UI library with native WebMCP (MIT)

https://www.persona-chat.dev/
10•becomevocal•7h ago•12 comments

Show HN: An ASCII 3D Rendering Engine

https://glyphcss.com
9•apresmoi•7h ago•5 comments

Show HN: An n8n alternative where coding agents build the workflows, not humans

https://velane.sh/
4•abhishekraj272•8h ago•0 comments

Show HN: Are You in the Weights?

https://www.intheweights.com/
458•turtlesoup•2d ago•243 comments