The Multiplayer Coding Hackathon

Alone is fast. Together is faster.

One Saturday, one clock. Teams of 2 to 5 build in one shared live session on Mission Street. Judged on what you ship and on the replay of how you built it.

Saturday, October 3, 20268:30 am to 6:30 pm PacificMission Street, San Francisco
Sponsored byassistant-uiFreestylewefundersolcoa
NShip the checkout flow
Open
Who can access
Openeveryone on the drive
SharedTom, Lena
Privatejust me
Ship the checkout flow
main BKCR
Add the cart page from the sketch in the plan tab.Ben Kim
EditCart.tsx /src/cart/+64−0

Cart page matches the sketch. The Checkout button goes nowhere yet.

Wire the cart page to the Stripe redirect, keep the test keys.Ada Okafor
EditCheckout.tsx /src/cart/+58−3
Shellbun test cart

Checkout redirects to Stripe in test mode. 7 tests pass.

1 prompt queuedClear queue
Chi RoyFix the mobile layout on the receipt screen, then deploy the preview.
Claude Sonnet 5
Model
Claude Sonnet 5
Claude Opus 5
GPT-5.5
Gemini 3.5 Pro
Muse Spark 1.3 Free
Big Pickle
ChatPlanDeep ReviewReview
BK
Ben Kim10:31Scaffold first, then I take the cart page. Ada, you keep the backend?
Deal. Chi, the receipt screen is yours after lunch.10:32
CR
Chi Roy14:02Queued my prompt so it lands after Ben’s. Receipt screen, then the preview deploy.
BK
Ben Kim14:05Check Checkout.tsx line 41 when it lands, the redirect has to keep the test key
Mention
CScoshellassistant
BKBen Kimon the drive
CRChi Royon the drive
CheckoutForm.tsxfile
priceOrder.tsfile
rateLimit.tsfile
webhooks.tsfile
dod.mdfile
Rate limiter rolloutDetailsWorking
Spec approvedPlan approvedExecuting 3/5

Goal

Protect /v2 from bursty API keys without slowing normal traffic. One key should never be able to starve the others.

Approach

A token bucket per API key, 100 requests per minute, stored in Redis so all three replicas share state. Over-limit requests get a 429 with a Retry-After header. Ship behind the rate_limit_v2 flag and roll out gradually.

Constraints

  • No new dependencies beyond ioredis, which we already run.
  • p99 latency budget: +2 ms on the hot path.
  • Existing tests stay green at every step.

Verification

bun test after every step. Load test with 1k keys before the flag moves to 50%. Watch 429 rate and p99 in the dashboard for a day at 10%.

Steps
Token bucket middleware with testsVerified
Add
Redis-backed bucket, atomic across replicasVerified
Add
Retry-After header on 429 responsesVerified
Add
Apply the limiter to /v2/webhooksLena, in progress
Add
Roll out behind the rate_limit_v2 flagWaiting
Add
on step 5, Roll out behind the flag
PN
Priya Nair2m
Roll out to 10% of keys first, then 50%. Add both as substeps.
LF
Lena Fischernow
Agreed, updating the step before the agent gets there.
Deep Review
feat/rate-limit against main
Run review
No review yet. Run one when the branch is ready.
HighExport button colour is hardcodedOrdersDashboard.jsx:41
The Export button sets #5B4CF0 inline while every other control reads var(--brand). Tom’s follow-up prompt fixes it; verify once that edit lands.
Send fix to agentDismiss
MediumNothing tests the stat cardsOrdersDashboard.jsx
No test asserts that the three stat cards render or that a delta shows its direction. A render test with the card labels would catch a regression.
Send fix to agentDismiss
LowUnused importApp.jsx:3
useMemo is imported and never used.
Send fix to agentDismiss
Port 5173
Dev servers on this drive
Port 5173vite
Port 3000next
Port 8080api
Port...ShareInspect
acme
DashboardOrdersCustomersSettings
Orders
Last 7 days · updated just now
FilterExport
Revenue today$18,420+12% vs last week
Orders342+8%
Average order$53.86−3%
Revenue, last 7 days7 days30 days
MonTueWedThuFriSatSun
OrderCustomerStatusTotal
#10428Maya Osei$128.40
#10427Theo LindqvistRefunded$64.00
#10426Ada Mensah$212.75
#10425Ravi ShankarPending$39.90
3 Changed files+112 −3
src/pages/OrdersDashboard.jsx+77−0
38 <div className="toolbar">
39+ <button className="btn">Filter</button>
40+ <button className="btn primary" style={{ background: '#5B4CF0' }}>
41+ Export
42 </div>
src/index.css+33−0
112+ .stat { border: 1px solid #e6e6e6; border-radius: 10px; }
113+ .stat .delta.up { color: var(--ok); }
114+ .status.refunded { background: var(--danger-bg); }
src/App.jsx+2−3
3- import { useMemo, useState } from 'react'
3+ import { useState } from 'react'
18- <Summary />
18+ <Summary />
19+ <OrdersDashboard />

One team, one shared drive, three people steering the same live session. Every prompt has a name on it.

Tracks and sponsors.

Each track is judged by the sponsor's own team, and the prize is handed out on stage. Every winner also clears the multiplayer bar: the replay has to show a team, not a passenger seat.

Build withassistant-ui

The React library behind production AI chat, and the multiplayer harness they are building and want teams on early. Build your front end on either. The prize goes to the system where more than one person drives the agent.

Best Multiplayer System, judged by assistant-ui
Bill with

Subscription billing for the product you ship. Put a price on your project and wire up Chargebee's billing, so it is ready for its first paying customer. The prize goes to the team that builds something people would actually pay for.

Ready to Charge, judged by Chargebee: $1,000 cash plus free Chargebee billing up to $2M in revenue
Run onFreestyle

Real Linux VMs for AI agents. Run your team's drive on one instead of the captain's laptop, so the build keeps going when the lid closes. Pick Freestyle when you create the drive.

$500 in credits, redeemed on the day
The roomwefunder

Our host on Mission Street: 150 seats, a working office lent in good faith, doors at 8:30. Pizza at 1 pm, team photos on the wall.

Venue sponsor
Grand prize Best Built Together

Judged on the replay itself: the clearest case of a team building as one unit across their sessions. The winning team gets a fast-tracked interview for possible VC investment.

Judged by Coshell

Sponsoring? One email gets you a credits drop, a prize your own team judges, and a seat on stage. hack@coshell.ai

One Saturday, one clock.

All times Pacific. Doors at 8:30, close at 6:30.

8:30 am
Doors, check-in, team formationCaptains bring the laptop that hosts the drive. No team yet? Find one at the team table
9:00 am
Kickoff
10:00 am
Build startsOne drive per team, as many sessions as you need
1:00 pm
Pizza hourTeam photos on the wall
4:30 pm
Submissions closeDeployed link, repo, and session replay
5:00 pm
Demos and track judgingThree minutes per team on stage
6:00 pm
AwardsTrack prizes, then Best Built Together

Questions and house rules.

Build hard, be excellent to each other, and let the replay speak.

No. Coshell drives are free to self-host, sponsors cover the credits, and the pizza is on us. You bring a team and a laptop.

Nothing, if you do not want to. Everything runs in the browser: sign up at coshell.ai, create your team's drive, and build. If you live in the terminal, install the CLI and attach to the same drive from your shell. Either way the drive is self-hosted: your team captain runs it on a laptop in the room or on a Freestyle VM with the sponsor credits, and everyone else joins from a browser. Ship the project itself anywhere with a URL, on any free tier.

Coshell runs 70+ models. Bring your own keys, use sponsor credits, or both. Model choice is yours per drive.

You do. Your code lives in your repos, your drive runs on your accounts, and nothing you build is trapped in Coshell.

Everyone is welcome regardless of who they are, where they are from, or how long they have been writing software. Harassment, discrimination, hate speech, sexualized content, and personal attacks have no place at this event, online or in the room. Neither does heckling demos. Cheer instead.

The venue is a working office lent to us in good faith: treat it better than you found it. In Discord and in sessions, keep it constructive. Spam, self-promotion outside the showcase channel, and drive-by negativity get one warning. Photos and clips happen all day, in the room and from the photo wall. Registration includes consent for event photography; if you need to be off camera, tell a volunteer at check-in and we will make it work. Do not record or share someone else's session without asking them.

Work happens inside the event window, by the people on your roster, in your team's own drive with your own accounts and keys. The replay is the audit trail and judges read it. Pre-built projects, ghost contributors, and replay tampering disqualify the team. Open source libraries, templates, and your agents doing the heavy lifting are all fair game. That is the point.

Find any volunteer or organizer in the room, or message the organizers on Discord. Reports are handled quietly and taken seriously. Organizers may warn, disqualify, or remove anyone who breaks these rules, in person or online.

Stop building alone.

Teams of 2 to 5 · October 3, 2026 · Mission Street, San Francisco.