Portfolio Project
Dribble.
A full-stack basketball simulation league platform.
Player Build System
A full-featured player customization system modeled after NBA 2K. Every player tunes their attributes, equips badges, configures hot zones, sets tendencies, and picks traits that modify sim behavior.
- → Weighted attribute system with per-position caps and spending limits
- → Badges, hot zones, and tendencies that feed directly into the sim engine
- → Trait system with stackable modifiers and player archetypes
- → Credits-based upgrade economy with daily rewards, streaks, and quests
Live-Streamed Games
Every game is played live on NBA 2K by real coaches and streamed to the community. There's no abstracted RNG. The sim plays out in real time, on stream, with real stakes.
- → Coaches manage lineups, game plans, and in-game decisions
- → Community watches live, with real crowd investment in every game
- → Highlight clips can be uploaded and shared directly on Dribble after the game
On-Site Statistics
Full box scores, season averages, career totals, and team records. All tracked and displayed on Dribble. No spreadsheets, no manual updates, no third-party tools.
- → Per-game box scores: points, rebounds, assists, steals, blocks, shooting splits
- → Season averages computed and updated automatically after each game
- → Leaderboards, standings, and team records visible to all visitors
- → Career stats tracked and persisted across multiple seasons
Auto-Sync with NBA 2K
Any change a player makes on Dribble (attributes, badges, tendencies, hot zones) is automatically pushed into NBA 2K. The website is the source of truth. Coaches never need to touch a roster editor.
- → Build changes made on the site flow directly into the game's roster
- → Rosters refresh multiple times per day, so updates are live well before tip-off
- → No manual data entry or separate 2K editor required for coaches or admins
Discord Integration
Every user authenticates through Discord. The platform and the community are tightly coupled. Game results, All-Star updates, highlight uploads, and season news all pipe directly into the Discord server.
- → OAuth2 login via Discord, no separate account required
- → Webhook system fires on game results, highlights, contract signings, and more
- → User identity (avatar, username) pulled from Discord across the entire platform
- → All-Star voting, season announcements, and league news delivered in-server