About

Version History

  • Not everything is played online — the game picker on an event now has an In Person option for real-life meetups. It only shows up on events, so it never clutters your profile games, polls, teams or tournaments
  • Every event can carry a location. It shows on the event list, the event details, and the public share page, and it rides along into the calendar entry when someone adds the event to their calendar
  • Locations are deliberately left out of the share link's Discord preview card, so an address doesn't unfurl in a channel
  • Pairs with invite-only events, which are visible only to you, the people you invited, and mods — so you can host something at your place without putting the address in front of the whole club
  • The badge collection grew from 34 to 71, and the ladders finally hand something out. A new Leaderboard & Hall of Fame group turns the trophies your club already earns into badges — Game of the Day wins, back-to-back and five-day runs, Games of the Week podiums, reaching #1 or the top 3 of your club's ladder, and topping the Custom 5v5 ladder
  • League picked up a highlight reel — badges for pentakills, deathless wins, and a game where you were in on 90% of your team's kills
  • Valorant and Deadlock got badge sets of their own: five Valorant tiers from Gold to Radiant, four Deadlock tiers from Sentinel to Eternus, plus match volume and win streaks for both
  • The Achievements tab on your profile now opens on what you've actually unlocked, with a one-click switch to the full catalog — 71 greyed-out icons made a worse front page than your seven real ones
  • Reaching #1 is a moment, not a status, so ladder-position badges stay yours once earned. They're switched off entirely on ladders with fewer than five ranked players
  • Badges are awarded from history too, so games you played before this update still count
  • The admin Insights tab was reporting times in UTC, so the best time to play League came out as "Saturday 4:00 AM" when it meant Friday evening. Best Time, Peak Availability, Squad Finder and Schedule Gaps now all read in your own timezone, and agree with the availability heatmap on the members page
  • The wordmark and the home page headlines moved to Orbitron, a squared geometric typeface. Everything data-dense — the leaderboard, schedule, admin panels and tables — deliberately stays on the old face, which is easier to read in bulk
  • A reactive backdrop of drifting ASCII glyphs sits behind the home page heroes and in the leaderboard's side gutters. It drifts on its own, bulges around your cursor, and ripples outward when you click, drawn in your club's accent color and kept faint enough to read as texture. It goes still if you've asked your system for reduced motion, and pauses when the tab isn't visible
  • "This Week" on the leaderboard now means a real calendar week — Monday midnight through Sunday night, Phoenix time — instead of the last seven days. A Sunday game used to keep showing through the following Saturday
  • The Monday Discord recap now fires just after Monday midnight and covers exactly the week that just ended, so the leaderboard, the recap and the Hall of Fame archive all agree on where a week starts
  • A profile is now one section per game you play, and the section you came from leads. Click a name on the Valorant board and their Valorant stats open first, instead of League every time. The rest follow collapsed to a one-line rank and record you can open in place, and games with no linked account are left out rather than shown empty
  • Valorant and Deadlock sections now carry real stats and full match history, not just a rank — Valorant shows combat score, damage, headshot percentage, agent and map pools and an RR trend; Deadlock shows souls per minute, net worth, hero pool and Valve's own per-game rank progress
  • League keeps a tab per ranked queue (Solo/Duo, Ranked 5s, Flex), each with its own LP trend, champions, roles and mastery
  • Deadlock joined the leaderboard as a third ladder, alongside League and Valorant. Valve stamps the real ranked badge on every ranked match, so these are true ranks rather than estimates — standings by badge (tier and subrank, in Valve's own colors), peak badge, progress sparklines and weekly climb arrows. Link your Steam account from your profile
  • The Hall of Fame — past Games of the Week are kept as frozen trophies on the Game of the Day card, paged back through the weeks, so a great game stays on the record instead of scrolling away
  • Your profile gained a Featured Games card for your own trophies, plus a full match history pager that reads from our own records
  • For games with a live ladder (League, Valorant, Deadlock), the manual rank picker no longer overrides the synced rank — stale hand-entered ranks are ignored everywhere
  • Bracket sessions — the Custom 5v5 tab now runs full bracket nights, not just single balanced games. Mods pick a roster, balance it into teams (or, in 1v1 mode, solo players), and lock in a bracket: 3 entrants auto-play a round robin, 4 or more choose single- or double-elimination
  • Every bracket game flows through the same report → verify → rating pipeline as a regular Custom 5v5 match, so results feed straight into the ladder and climb charts
  • 1v1 mode tracks its own rating pool, kept separate from 5v5 team play
  • GOATs — a club-wide vote on the all-time greats, one vote per category per member, with a curated nominee roster split by era across League, Dota 2, Counter-Strike, Valorant, Call of Duty, RTS, MMO, Overwatch, Rocket League and fighting games
  • Pick your own theme and accent from your profile, and a new message-of-the-day banner. Admins can choose which links appear in the navbar
  • Game of the Day title now follows the leaderboard tab — it reads "Games of the Week" on the week view
  • Game Night is now a multi-club platform — every club gets its own space at /c/your-club with its own name, accent color, branding, settings, and roster. Start a club with the new create-club wizard, bring people in with invite links, and if you're in more than one club, switch between them right from the navbar
  • Fresh coat of glass — a site-wide visual redesign: frosted-glass panels, ambient accent-colored orbs drifting in the background, and two-tone gradients derived from your club's accent color
  • Shareable event flyers — every public event has a share link that unfurls into a generated flyer (date, time, host, who's going) when you paste it in Discord. Grab it from the new Share flyer button on the event, and download the flyer as an image or add the event to your calendar from the share page
  • Game of the Day — the leaderboard crowns the group's standout League game each day with a composite score, posts it to Discord nightly, and the weekly digest recaps the top 3 alongside the week's peak-LP apex
  • Day-of event reminders — the Discord @here ping moved from event approval to the day of the event, going out a few hours before start time so it lands when it matters
  • The homepage rank card now syncs from linked Riot accounts automatically instead of the manual rank picker
  • Timezone nudge — if your device's timezone disagrees with your profile, the site offers a one-click fix so event times always show correctly
  • Version tag in the footer now shows the exact build you're on and links to this changelog
  • The Custom 5v5 team builder has a new optional "Balance by role" toggle. With it on, each team is given one of every role (a full comp) and the two players who main a role are matched up against each other in their lane — instead of just splitting on rating. Among all the fair-comp options it still picks the most even teams overall
  • Roles prefill from each member's most-played role (from their League match history) and stay editable per player. Tap a lane to swap that matchup, with smooth animated transitions throughout the builder
  • League profiles show a lot more now — a Performance strip (CS per minute, vision score, kill participation, damage, average game length, and a pentakill/best-multikill callout) and a Champion Mastery row with your most-mastered champions and their mastery levels. Each recent match shows its own per-game stats too. The data fills in from Riot as fresh games are played
  • Sort the leaderboard by Mastery — a new option that ranks everyone by total champion-mastery points. It spans every queue and includes linked players who aren't currently ranked
  • Ranked Flex and Ranked 5s ladders — the leaderboard gained Solo/Duo · Flex · Ranked 5s tabs (the Flex and 5s tabs appear once someone in the group is ranked there)
  • Valorant leaderboard — a second live ranked ladder sharing the /leaderboard page through a League ↔ Valorant toggle, synced automatically from the Valorant API. Competitive tier and RR, elo-trend sparklines, peak rank, and weekly climb arrows, mirroring the League ladder
  • Link your Valorant account from your profile (Name#TAG); admins can link on a member's behalf. Gated behind a Valorant feature toggle that an admin turns on
  • Weekly climb arrows — every leaderboard row now shows how many spots a player has moved on the ranked ladder over the past 7 days (green ▲ up, red ▼ down), a faint dash when they held, and a "NEW" tag for anyone who wasn't ranked a week ago. Built from the rank snapshots we already store, so there are no extra calls to Riot
  • Internal 5v5 rating — a homegrown skill rating learned from verified custom games (team Elo plus a KDA performance bonus, so a standout still gains in a loss), seeded from your Solo/Duo rank until you've played enough customs. The team builder balances on it automatically
  • The Climb — the rating-over-time chart now has a Solo/Duo ↔ 5v5 source toggle and a click-to-filter legend, so you can isolate any group of players and watch the chart rescale to just them
  • League Discord milestone posts (new peak rank, ranked-games milestones, promotions, new #1, first-to-tier) no longer @-ping the player — they post as plain channel messages
  • Custom 5v5 ladder — report Game Night custom 5v5 results for a moderator to verify (with each player's champion and K/D/A), then climb a wins-and-streaks leaderboard. A per-player record card appears on profiles
  • Redesigned leaderboard player cards — a cursor-following hover/tap card with live champion portraits, a fitted LP-trend chart, recent-form pips, and your latest ranked matches. Peak rank now shows a compact label
  • op.gg link added to the League stats card on member profiles
  • Navbar — secondary destinations tucked into a "More" menu, with pending-count badges (5v5 verifications, team invites) bubbled up to the label
  • Branded favicon
  • League leaderboard (/leaderboard) — a live ranked ladder for the group, synced from the Riot API by a scheduled poller. LP-over-time sparklines, weekly W/L and LP deltas, win/loss streaks, peak rank, and recent ranked matches on a hover/tap detail card. The page reads only from our own database, so there are no client-side Riot calls or rate limits
  • Public member profiles (/members/[id]) — read-only pages with games and ranks, the full League stats block, availability heatmap, badges, teams, and social links. Linked from member cards, leaderboard rows, comments, and event RSVP/attendee lists
  • Link your Riot account from your profile (Name#TAG); admins can link on a member's behalf from the roster. League rank is pulled live from Riot rather than the manual rank picker
  • Thanks to everyone who submitted bug reports and suggestions — your feedback directly shaped these fixes and helps the platform grow!
  • Discord approval notifications now include a clickable link to the schedule page so you can RSVP right from Discord
  • Event approval modal now properly closes after approving or rejecting, with loading state to prevent double-clicks
  • Profile completion badge now awards correctly when filling out the extended profile (favorite games, social links, etc.)
  • Event creators can now edit, delete, and cancel their own events — not just invite-only ones
  • Badges & Streaks — 18 system badges, 7 categories, 5 tiers, attendance/weekly streaks, showcased badges on member cards, profile Achievements tab, admin badge management
  • Discord Notifications — dual-channel webhooks for auto-updates and manual announcements, 5 templates, ping selector, live preview, per-type toggles
  • Tabbed profile layout — Profile, Preferences, Groups, Achievements with animated transitions
  • Last Seen column on admin roster with relative time and active user highlighting
  • Pending approval banner for admins/mods on Events list
  • Footer nav links match Navbar order with feature-toggle gating
  • Fix 11:30 PM availability not showing on heatmaps
  • Fix members page not updating after profile save
  • Extended admin time window dropdown to 2 AM
  • Audit log — tracks high-impact actions across the site (events, tournaments, teams, polls, roles, settings)
  • Activity tab — admin feed showing the last 50 audit entries with icons, actors, and timestamps
  • Last Seen tracking — "Active Now" stat card shows users seen in the last 15 minutes
  • Mobile responsiveness pass — smaller carousel cards, full-width tournament matches, 2-col admin tabs, tighter modals
  • Removed email scope — Discord OAuth now only requests identify (username + avatar)
  • Updated privacy notices on signup and About page to reflect minimal scope
  • Suggestions & bug reports — new type field (Suggestion / Bug Report) with icons and color badges
  • Feedback moved to About page — new Feedback tab with deep linking support, replaces profile section
  • Profile feedback link — compact card on profile page directs to About > Feedback
  • Admin type badges — suggestions tab shows type alongside status for each item
  • Suggestions rework — profile-based submission form, admin management tab with status workflow, mute enforcement
  • Mute system — admins can mute users (permanent or timed), blocking suggestions, polls, and comments
  • FAQ accordion — collapsible Q&A section on About page with smooth animations
  • Comment improvements — enhanced poll comment system with better styling
  • Conditional save buttons — profile and admin settings only show save when dirty
  • Fix accent color flash — server-side inline styles eliminate green flash before hydration
  • Site settings expansion — 8-section admin panel with branding, access controls, feature toggles
  • Accent color theming — 12 presets or custom hex, drives all neon highlights and glows
  • Community branding — configurable name, tagline, logo, and favicon
  • Join modes — open, invite-only (with code management), or approval (with admin queue)
  • Feature toggles — master switches for tournaments, teams, polls, highlights, and stats
  • Admin site settings panel — configure prime/extended time windows, anchor timezone, event/poll limits, community name, and MOTD
  • Prime/extended time windows — availability grids and heatmaps visually distinguish prime time (bright neon) from extended hours (dimmed/muted), auto-converted to each viewer's timezone
  • Reactive prime time highlighting — grid recomputes when user changes timezone in the form, with timezone-aware legends shared between grid and heatmap
  • Heatmap timezone fixes — cross-midnight splitting, dynamic time slots, duplicate player deduplication
  • Test infrastructure — Vitest with 17 tests covering timezone conversion, prime time slots, and legend formatting
  • Persistent teams — /teams page for creating clans/squads with unique tags, game affiliation, bio, avatar, and configurable roster size
  • Team roles and invites — Captain, Co-Captain, Member, Sub with promote/demote, captaincy transfer, invite system with accept/decline and navbar badge
  • Team detail page — W–L record, roster grid with role management, tournament history, disband confirmation
  • Team tags across the site — [TAG] badges on events, modals, attendance, and member cards (game-context-aware, clickable)
  • Tournament integration — register premade teams, roster snapshot preserves bracket integrity
  • Timezone normalization — all times stored in UTC, converted to each viewer's timezone. DST-safe via Intl.DateTimeFormat
  • Cross-timezone event display — dual timezone shown when viewer and host differ (e.g. "4:00 PM PST (7:00 PM MST)")
  • Tournament system — new Tournaments tab with 6-step creation wizard, 6 bracket types (Single Elim, Double Elim, Round Robin, Swiss, Constellation, FFA)
  • Solo and team formats — 1v1 or team with configurable sizes, game-specific presets, 3 seeding modes
  • Live snake draft — real-time captain draft with 3-second polling, auto-fill, and team renaming
  • Match reporting with opponent/admin confirmation and auto-advancement through brackets
  • Pick'ems, tournament comments, buy-in/prize pool, templates, bracket sharing, multi-session scheduling
  • Friday-to-Thursday calendar — weekends front and center, two-week desktop view, one-week mobile with grid day selector
  • Event detail modal — read-only view with RSVP lists, host info, edit permissions for hosts/mods/admins
  • Optimistic RSVP updates, smooth page transitions, and scroll-to-top on navigation
  • Members page — searchable card grid with avatars, game tags, rank badges, social links. Tabbed: Members | Games | Availability
  • Roles — Moderator (admin panel access) and Owner (gold glow). Role ladder: Member → Moderator → Admin
  • Polls — single/multi-select voting, animated result bars, game tags, comment threads, pin/close/delete
  • User-created events with moderator approval workflow and status system (pending, scheduled, cancelled, rejected)
  • Invite-only events — visibility toggle, member picker with quick-select groups, rate limiting
  • Recurring events — admin/mod only, 2–12 week count, delete entire series
  • Admin Insights tab — 8 on-demand analytics queries (Best Time for Game, Squad Finder, RSVP Stats, etc.)
  • About page tabs with version history cards and Roadmap section
  • Discord OAuth authentication with JWT sessions
  • Player profiles — gamertag, interactive US timezone map, game selection, drag-select availability grid
  • Extended profiles — favorite games, visual rank selector with tier colors, social links, tournament interest
  • Scheduling — two-week calendar, event list, RSVP system (confirmed/maybe/declined)
  • Admin panel — game popularity, availability heatmap, RSVP overview, player roster
  • Landing page — hero, social proof stats, members carousel, highlight cards
  • Initial Next.js scaffold

Roadmap

Discord Bot

  • Full Discord bot — RSVP pings, event reminders, and DM notifications

Competitive

  • Leaderboards and win/loss tracking
  • Seasons with standings and playoffs

Community

  • Game night recaps with highlights and clips
  • Shoutout wall / kudos after events
  • Looking-for-group status for pickup games

Scheduling

  • Auto-suggest best times from availability overlap
  • Game rotation suggestions based on recent history
  • Waitlist with auto-promote on cancellation
  • Calendar sync (Google Calendar / iCal)

Engagement

  • Weekly digest via email or Discord DM

Quality of Life

  • Dark/light theme toggle
  • Spectator RSVP option