Inspiration
A real classroom isn't a lecture; a board everyone can point at.
Online, that feeling disappears. A teacher talks, students watch. The board is gone.
We built Chalkboard to bring it back: a shared infinite canvas where a teacher and students draw, write and react together, live.
Then we wondered, what if a third participant could join? Not a chatbot on the side, but a classmate who can use the board.
Teach students with your agents.
What It Does
Create a room, share the link, and everyone sees the same chalkboard. When someone draws a line, it appears for everyone. When someone sends a ❤️, it floats across the screen.
Now invite your agent.
Say: “Teach the Pythagorean theorem.”
Your agent doesn't just reply in text. It opens the same room as you, picks up the chalk, writes $a^2 + b^2 = c^2$, draws the triangle, labels the sides, and highlights the proof stroke by stroke, while students watch.
It’s not controlling a copy of the classroom. It’s in the classroom.
Why WebMCP
We could have built a separate API for every agent action one for drawing, one for writing, one for reacting. Instead we let the website speak for itself.
With WebMCP, Chalkboard simply says: here are the things I can do: draw, write, highlight, react, raise a hand, manage the room.
The browser exposes those capabilities at navigator.modelContext. The agent discovers them and calls them like any other tool. No custom wiring, no shadow app.
Your Agent → WebMCP → Chalkboard → Everyone's Board
The agent doesn't need to know how our canvas works. It just knows what the classroom allows.
How We Built It
Chalkboard is a web app: a canvas for drawing, Socket.IO for real-time sync, and LiveKit for voice.
We wrapped every classroom action — drawing a stroke, writing text, sending a reaction as a simple tool. The browser gathers those tools and offers them through WebMCP, the new web standard for agents.
When an agent joins a room, it joins like any student over a websocket. It listens to the room, remembers what's on the board, and when asked to teach, it chooses tools and emits the same events your browser does. A reaction tool even opens the emoji picker and picks one, so you see the interaction, not just the result.
If a viewer asks the agent to do something only an editor can do, the agent politely refuses it borrows your permissions, not its own.
What We Learned
The moment an agent can act instead of just answer, everything changes. A lesson feels real when you watch it being made.
We also learned that the web doesn't need a separate world for AI. If a site can tell an agent what it can do, the site itself becomes the interface.
Challenges
Making a remote agent feel present was hard. It had to join the same room, see the same board, and act through the same browser tools, without lag, without breaking the live sync, and without giving it more power than the student who invited it.
Getting browsers, real-time sync and WebMCP to agree was the puzzle. Solving it meant the agent is no longer outside the classroom looking in. It's sitting at the desk next to you.
What's Next
We started with drawing. Next is understanding an agent that watches the board, notices a mistake, circles it, and offers a hint. A classroom that is collaborative and agent-accessible by default.
Chalkboard is our small experiment in that future: where you don't build a separate app for your agent — you just bring it to class.
Log in or sign up for Devpost to join the conversation.