OUR MISSION · BJJ ANALYTICS · BUILT FOR PARENTS AND COMPETITORS
The intelligence layer BJJ was missing.
RollReport aggregates competition data from every major organization so parents, athletes, and coaches don't have to live in six browser tabs at once.
THE PROBLEM WE'RE SOLVING
Your kid competed in three organizations this year. Their record is scattered across IBJJF results pages, Smoothcomp, AJP Tour, and a PDF bracket on someone's Google Drive. You don't know their win rate at events more than 200 miles from home, you don't know if they perform better in sub-only or IBJJF points, and you spent the morning refreshing a bracket page every 20 minutes trying to figure out if their division had been called yet.
RollReport fixes that. One place. Every organization. Every match. Live brackets. Analytics that actually inform decisions.
WHAT WE COVER
EAST COAST FIRSTATTRIBUTION & DATA SOURCES
RollReport aggregates publicly accessible competition results published by tournament organizations. We do not scrape paywalled content, reproduce proprietary databases, or claim ownership of any tournament's data.
We link back to the source on every athlete profile and event page. Where an organization provides an official API, we use it. Where only public HTML is available, we scrape at respectful rate limits, archive raw copies in R2 for audit, and attribute prominently.
Tournament organization with a partnership question, official API access, or a takedown request: data@rollreport.gg. We respond within 48 hours.
POWER LEVEL — HOW WE RATE EVERYONE
SEE ALL TIERS →Every athlete on RollReport has a Power Level — one number that rolls match results, opponent quality, medal placements, and recency into an auditable score. It replaces gut-feel ranking with something traceable to source data.
Match score
Elo-style update per rated match. Beat an Apex opponent → +30. Lose to a Novice opponent → −25. Draws and unrated brackets count for half.
Medal score
Bracket placements: +14 gold, +9 silver, +5 bronze. Multiplied by event tier (Worlds > Pans > local). Stacked brackets earn more than 4-person divisions.
Recency factor
Last 12 months count fully. Older results decay smoothly to ~60% by year 3. Retired athletes drop to Inactive regardless of legacy.
Confidence band
Under 8 rated matches → Provisional badge on the card. The number is real, just less stable than someone with 50+ matches.
Tier ladder
Tiers are percentile-anchored — they describe where an athlete sits in our entire rated population, not absolute milestones. The single highest-rated competitor anywhere is normalized to 9000. Everyone else falls into the curve below.
| Tier | Range | Population | What it means |
|---|---|---|---|
| Novice | 0 – 1399 | bottom ~70% | Newer competitors, limited match volume. The default starting band. |
| Contender | 1400 – 1699 | ~50th – 80th pct | Active local-circuit competitors with a real W/L record. Median-ish for an adult belt athlete. |
| Prospect | 1700 – 1899 | ~80th – 95th pct | Above local-average. Holds their own in-region. Trending upward. |
| Elite | 1900 – 2099 | ~95th – 99th pct | Top-tier regional / nationally competitive. Beating Elite opponents materially boosts your rating. |
| Apex | 2100 – 8999 | top ~1% | Pro-level. Worlds podium + active circuit threat. Very few athletes cross this line. |
| Super Saiyan | 9000 | exactly 1 | Single highest-rated athlete in the database. Held until someone takes it. Glow not for sale. |
| Provisional | — | tier-locked | Fewer than 5 matches/medals on file — the rating exists but we'd downgrade their tier by one until the sample grows. |
Power Level is recomputed nightly from our full match corpus and recalibrated against the live percentile curve. The number on every athlete profile reflects v0.3-spread (weight-class-weighted, percentile-anchored). See the visual card preview at /cards for the foil/glow progression by tier.
KIDS DATA & PRIVACY
The primary RollReport user is a parent tracking a competing child. We take that responsibility seriously.
- Athlete accounts are parent-mediated — children under 13 are tracked entities, not account holders.
- We display birth year only publicly — never full date of birth.
- Match results are sourced from public tournament records. Need a result removed? privacy@rollreport.gg.
- No advertising. No selling of data. Freemium model, pricing TBD.
HOW IT'S BUILT
RollReport runs entirely on Cloudflare's edge — Pages for the frontend, Workers + Hono for the API, D1 (SQLite) for data, R2 for raw HTML archives, and Durable Objects for live bracket WebSocket sessions. Astro 5 with Svelte 5 islands.
Maryland launch first. East Coast next. National after that.
Questions? hello@rollreport.gg