a note from the dev
Hey y’all, it’s ya boy snowball.jam.
I’m a broke PhD student in mechanical engineering at the University of Michigan. When I’m not doing that, I can usually be found juggling or playing tennis, pickleball, and ping pong.
My advisor happens to be abroad right now, so I used my time to craft this unique experience. I think this web app is a great way to stay connected to all your friends through your musical talents (shoutout to my childhood friend Johny Yu).
I am absolutely terrible at freestyling. I’ve always wanted to get better, but I’m usually too ashamed to try. So, I built this. This is your chance to get better at absolutely no cost, except for being just a little embarrassed.
Right now, my friends are dominating the leaderboard, and I’m sitting at the very bottom. One of my friends even made two accounts just to vote for his own track.
Anyway, let me explain how the game works real quick:
- 01Pick a beatHead to the arenas and grab whatever sounds good. Hopping on one costs a token and you start with 3.
- 02Headphones on. SeriouslyWe only record your voice, not the beat. If the beat’s coming out your speakers it bleeds into the mic and you end up sounding like you recorded in a parking garage. No headphones on you? The battle screen has a speakers mode that filters the beat back out. Headphones still sound better.
- 03Hit reveal and just goWords start showing up one at a time while you’re already rapping. No prep, no writing ahead, no peeking. That’s the whole point. It’s a freestyle, not an essay.
- 04Land each word in its barThe word sitting big in the middle has to come out your mouth while its bar is lit up. Anywhere in that bar counts. Two more wait underneath so you can see what’s coming.
- 05One take, that’s itNo pausing, no editing. Recording stops itself when the bars run out. Then you listen back once and either submit it or burn it. Burning gives your token back. I burn a lot of takes.
- 06You get matched automaticallyYour verse goes in a pool and gets paired against someone else’s take on the same beat, closest rating to yours. Nobody picks their opponent and you don’t have to be online at the same time.
- 07Judge other battles to keep playingYou hear two takes blind, no names, all the way through, then pick who ate. Every 2 you judge earns a token back. That’s how you keep battling for free, and honestly judging is half the fun.
- 08Ratings move, boards reset MondayWin and your rating goes up, lose and it drops. Each beat’s weekly board wipes every Monday at midnight ET, but your rating sticks with you forever.
DM me @snowball.jam on Instagram if you have any suggestions!
I’m excited to hear y’all’s attempts. Bless my ears, and let me destroy yours.
the fine print
Everything above is the gist. Here’s every number and edge case, for anyone who wants them.
Arenas & seasons
- Every beat is an arena, made for jamshiman and playable nowhere else. A new one drops every Monday and the old ones stay open forever.
- A season is one week, Monday to Monday (00:00 ET). Each arena's leaderboard wipes clean at the reset. Your Elo never does. It's season 10 right now.
- One entry per arena a week. The moment you submit, that beat's locked for you till Monday. Burned takes don't lock anything, so you can go again right away.
The take
- Hitting Battle holds 1 token and starts things off: mic check, then Reveal. If the beat has an intro you can ride it, and either way you get a 4-beat count-in into bar 1.
- The words come at you while you rap. The one that's due sits big in the middle and the next two wait to its right. No prep time, no writing ahead, ever.
- Say each word during its landing bar, the one that lights up hot on screen. Anywhere inside that bar counts.
- Some beats run call & response. The word lands at the end of a bar and the next bar is all yours, so you answer it with your own rhyme before the next one comes.
- It's one straight take. No pausing, no scrubbing, no editing. Recording stops itself when the bars run out and then you pick: submit (locks the beat, goes in the pool) or burn (token back, words gone, go again now).
- You get 3 tries per beat a day and 8 total. Enough to walk away from a bad take, not enough to fish for easy words. If you reveal and never record, it expires after 3 minutes.
Matchmaking
- Nobody picks an opponent and nobody has to be online at the same time. Your verse goes in the beat's pool and gets paired against another verse on the same beat.
- You get paired with the closest rating to yours, and whoever has waited longest goes first. Never your own verse, never the same two twice, one open battle at a time.
- A verse can battle up to 3 times a week, so your Tuesday take keeps picking up new opponents while you sleep.
- If nobody new shows up within 24 hours, you get paired against a verse that already battled this week. In that case only your rating moves.
Judging
- Anyone with at least one verse of their own can judge, so you've got skin in the game. You can never judge a battle you're in.
- You hear both takes blind, just A and B with no names, and you have to play each one all the way through before you can vote. Votes that come in faster than that get rejected.
- The word chips light up in their landing bars as the audio plays, so you can see whether each one landed. You confirm that for both sides, pick a winner, and tag why if you want: flow, rhymes, word flips, or originality.
- One vote each, anonymous and final. Nobody sees the tally until the battle resolves, so there's no bandwagon to jump on.
- Every 2 judgments earns you 1 token. Judging is the price of battling, and it's what makes sure every verse actually gets heard.
Resolution
- A battle resolves as soon as it hits 3 votes, right then, not at the end of the week.
- Words come first. If most judges flag a side for missing their words, that side loses no matter what the vote was. If both get flagged, the battle voids and everyone gets their token back.
- Otherwise most votes wins. A tie waits for one more ear.
- The 24-hour rule: a battle that hasn't reached 3 votes within 24 hours goes to whoever is ahead, even by a single vote. Nothing hangs waiting for a crowd that isn't coming. If it's dead even (or nobody voted at all) the battle voids, tokens come back, and both verses return to the pool: the crowd didn't pick, so no rating moves.
- Both rappers get the result by email with the public matchup page: vote split, tags, rating changes, both verses playable.
Rating (Elo) & placements
- Everyone starts at 1000. Winning takes points from the loser; beating a stronger opponent pays more than farming a weaker one. The floor is 100.
- Placements: your first 10 battles swing hardest. The multiplier starts at 80 and eases down to 24 as your rating finds its level (±40 points on an even first battle, ±12 once settled).
- Tiers are flavor, earned by rating: Open Mic under 1050 · Regular 1050–1199 · Headliner 1200–1399 · Main Event 1400+.
- Elo is lifetime. It never resets with the seasons. The weekly arena boards rank verses by a confidence-adjusted win rate, so consistent records beat lucky 1–0s.
Tokens
- You start with 3. Each arena entry costs 1.
- Every 2 judgments → 1 token, capped at 10. Burns and voided battles refund.
- Tokens never expire. Nothing on this site is for sale.
Community
- Battle-rap aggression is part of the culture and welcome here. Slurs, hate, threats, and doxxing are not. Strikes escalate from warning to battle ban to account ban. Every verse has a report link.
- You must be 13 or older.
- You own your verses. Publishing here grants the site a license to host and display them. Verses and matchups are public by design.