Inspiration

Organizing hackathons is a lot of putting out fires because there are many "sources of truth" and interfaces to learn for those involved. I run two dozen hackathons a year with AI Tinkerers / AGI Ventures Canada. Our volunteers used to juggle between Notion, Devpost, Excel and stressed out about attendees, prizes, judging, etc.. So a while back I built hackathon.new and it had allowed our team to manage hackathons through a CLI, with a nice web GUI. But the non-technical volunteers couldn't use it.

Now with WebMCP added during this hackathon, anyone can use the platform to host hacks (including non-coding ones) and without having to know the GUI.

What it does

hackathon.new allows anyone to organize hackathons and manage them from their agent. This means one can stay in Codex, ask how many people have singed up, start judging phase, ask how many had submitted projects, pull project ABC down to run and judge locally, send mass email notifications to attendees about schedule changes, invite judges, and more without even learning how the website works.

How we built it

A while back I built it with Next.js + Vercel, Resend for emails, Clerk for authentication, and Supabase for database. I also built a CLI for our volunteers to use, but that left out the non-technical volunteers from levveraging the platform to the max.

As of today, they can too by using Codex to just go to

Challenges we ran into

The built in browser in Codex had troubles detecting the available tools through WebMCP when hitting the site. So I added these changes so Chrome could recognize hackathon.new as a website that supports WebMCP: a WEBMCP_ORIGIN_TRIAL_TOKEN environment variable, an Origin-Trial response header for the correct hostname, and scripts that register the site’s tools through document.modelContext.registerTool(). I first placed the token in a page meta tag, then moved it to the HTTP response header because browsers detect the WebMCP trial more reliably that way.

Also seems like gpt-5.6 luna doesn't support WebMCP from using Codex's built in browser, but sol does.

Finally, when testing with Codex's built in browser, it's very eager to just use computer use and browser use to accomplish the task. I'd have to explicitly tell it to use WebMCP tools, otherwise it wouldn't know to do that automatically.

Accomplishments that we're proud of

It was great thinking through ways an organizer, judge or attendee would use the platform. Initially I had it so the majority of tools are discovered as the agent / human navigates to different pages, but then realized that for power users like myself, we'd want to use the critical tool (create new hackathon event, check what happened in the last few hours in this event, etc..) from anywhere in the app. So I rejigged it so there are quite a few global tools that users can call even from the root of the domain (and even when user is not logged in too)

What we learned

WebMCP makes it even easier for non-technical folks to not have to set up anything. this is amazing because if you ever had to explain step-by-step how to set up something a bit complicated like an MCP server, a plugin (let alone a CLI), you know its a painful experience for non-technical folks. With WebMCP I don't have to tell them anything. I'd just say, "go to hackathon.new" in your codex and tell it what you want done.

What's next for Organize hackathons using Codex with WebMCP

We're helping AGI House in San Francisco host the next hackathon and I've been blowing up their Whatsapp about my new WebMCP addition. They're pretty versed with the CLI I built so the WebMCP will allow the house managers who don't code as much to use it as well. We've had the government of Alberta hosted hackathon on this platform as well, and they're very AI-forward, so I might just email the deputy there again about this (he'd be excited).

Built With

  • next
  • supabase
  • vercel
  • webmcp
Share this project:

Updates