Show HN: March Madness Bracket Challenge for AI Agents Only
I built a March Madness bracket challenge for AI agents, not humans. The human prompts their agent with the URL, and the agent reads the API docs, registers itself, picks all 63 games, and submits a bracket autonomously. A leaderboard tracks which AI picks the best bracket through the tournament. The interesting design problem was building for an agent-first user. I came up with a solution where Agents who hit the homepage receive plain-text API instructions and Humans get the normal visual site. Early on I found most agents were trying to use Playwright to browse the site instead of just reading the docs. I made some changes to detect HeadlessChrome and serve specific html readable to agents. This forced me to think about agent UX even more - I think there are some really cool ideas to pull on. The timeline introduced an interesting dynamic. I had to launch the challenge shortly after the brackets were announced on Sunday afternoon to start getting users by the Thursday morning deadline. While I could test on the 2025 bracket, I wouldn't be able to get feedback on my MVP. So I used AI to create user personas and agents as test users to run through the signup and management process. It gave me valuable reps to feel confident launching. The stack is Next.js 16, TypeScript, Supabase, Tailwind v4, Vercel, Resend, and finally Claude Code for ~95% of the build. Works with any model that can call an API — Claude, GPT, Gemini, open source, whatever. Brackets are due Thursday morning before the First Round tips off. Bracketmadness.ai
Discussion Highlights (17 comments)
npilk
Love it! Just this morning I asked my claw to fill out a bracket on ESPN and invited it to join a group with me. It was a bit clunky (Disney's signup within an iframe was tricky and navigating the bracket to make picks with JS took a few repeated tries) but felt pretty science-fiction when it actually worked.
elpakal
Really cool idea. My son is using different LLMs to fill out brackets for his 4th grade science experiment, and then we are going to compare them to the experts. I like your idea of Strategy/Inspiration prompting, we had to tell them that "upsets happen" because all the favorites were picked on first pass. Tangentially, I wonder if we are going to see AI predictions impact point spreads.
zephyreon
I'm usually pretty opinionated on using AI for reasons I generally view as productive - for example, not moltbook - however this is actually really neat and doesn't require a ton of token usage assuming you don't instruct your agent to do multiple turns of analysis on the stats :) It'll be interesting to see what strategies agents choose to implement & whether there are any meaningful trends.
cbm-vic-20
It would be interesting to have a couple of "control" brackets, like one that simply picks a random winner for each game and one that always picks the highest seed as the winner for each game.
spankalee
I would actually be neat to have human-picked brackets in here too, or at least import a few expert-picked brackets from various sources for comparison. I wonder if the edge here is not going to come down to which model you choose, but which sources of information you give it. You'll want stats on every team and player, injuries, and expert analysis, because none of this season is going to be in the training sets.
rapind
Very cool. I was trying to do something similar (not for march madness brackets), but ran into a problem with chatbots in that they wouldn't follow URLs that weren't provided directly by the user (claude would but only whitelisted sites), so I couldn't get it to do actual POSTs etc. for authentication. Claude.ai would instead create react app (fragments). I eventually built a remote MCP for it, but a HATEOS styled REST API would be far preferable. Any tips?
ucsandman
oh I love this, MoltFire about to wax that ass! What's first get? $100 in Claude tokens?
strujillo
Designing interactions for autonomous agents is tricky — you can’t assume a human will click through a UI. I’ve been experimenting with autonomous scientific agents: a lightweight Python system that uses sparse regression to derive physical laws from raw data. It was able to estimate the Sun’s ~27‑day rotation period to within 93 % accuracy and even found a temperature ∝ v^3.40 power law in solar‑wind measurements. Experiences like yours building an API‑first bracket challenge mirror the same need: build clear machine‑readable interfaces so agents can focus on analysis, not wrestling with front‑end logic.
calebelac
such a fun idea! I like your solution for detecting when agents are reading your page vs. humans.
lunatuna
Tried it out, works flawlessly. The basic process cycle is clean and easy to follow. Kept it to CC Haiku with a bit of discussion on approach. Only thing that wasn't 100% clear was the locking mode. Do I have to lock before games start or will it just auto-lock whatever I have? Claude assumed it would auto-lock.
dpoloncsak
Not to be that guy, but your 'solution where Agents who hit the homepage receive plain-text API instructions and Humans get the normal visual site' is defeated by curl -L curl bracketmadness.ai -L # AI Agent Bracket Challenge Welcome! You're an AI agent invited to compete in the March Madness Bracket Challenge. ## Fastest Way to Play (Claude Code & Codex) If you're running in Claude Code or OpenAI Codex, clone our skills repo and open it as your working directory: (cont) ... I like the idea of presenting different information to agents vs humans. I just don't think this is bulletproof, which is fine for most applications. Keeping something 'agent-only' does not seem to be one of them.
bb-connor
somebody use mirofish and see if it really predicts everything
tasuki
If you – like me – have no idea what this is about, it is about some basketball competition.
gz5
very cool and well done. i wonder if we will see a materially larger number of brackets filled this year than the recent trajectory would indicate (as a very coarse indicator of agent-filled brackets).
RobRivera
What makes agents unique to traditional stats backed money-lines on sports books?
npilk
By the way, for anyone wondering/unfamiliar, the scale of this tournament is such that it's not realistically possible to enumerate all possible outcomes, let alone submit them to a site like this. With 63 games, there are 2^63 possible brackets, and it takes 63 bits to encode each possibility. 2^63 brackets * 8 bytes/bracket ~= 74 exabytes - just to list all possible combinations! There are many combinations that are completely unlikely, but even if you could reduce this by 90% (I doubt it) it's still infeasible to even list all the combinations. Someday, in another 20-30 years, this might be achievable. Somehow I feel like it will be a sad day when that happens. Of course the tournament will probably have expanded to 128 by then making it safely out of reach of computation.
illusive4080
Interesting idea! Funny enough I tasked Opus 4.6 this morning with online research and to create me a bracket. I submitted it to my friends telling them I had AI make it. It mostly picked top seed teams but chose 7 strategic upsets based on whatever research it did. I literally just kicked it off, continued with my real job, and punched in the results when it was done; so I’m not sure exactly its stated methodology.