Skip to content

Repository files navigation

BrawlWise

BrawlWise is a fast, personalized draft assistant for Brawl Stars Ranked. Choose the mode and map, enter picks and bans as they happen, and get explainable recommendations that adapt to the matchup and the brawlers you can actually play.

What works today

  • Searchable map selector covering 125 active Gem Grab, Brawl Ball, Heist, Hot Zone, Bounty, and Knockout maps.
  • Full six-pick and six-ban draft board for blue and red sides.
  • Recommendations that re-score after every pick or ban using mode fit, map shape, counters, team-role coverage, and roster readiness.
  • Separate pick ideas and ban-threat views.
  • Transparent reasons and warnings on every recommendation.
  • A 106-brawler roster manager with owned state and Power 1–11 levels.
  • Power 9+ filtering for suggestions that are legal and practical in Ranked.
  • One-click share links that encode a draft without creating an account.
  • Browser-local persistence for drafts and rosters; no database is required.
  • Optional player-tag import endpoint for the official Brawl Stars API.
  • Responsive desktop and mobile layouts.

The scoring engine is an explainable heuristic baseline, not a claim of live win-rate prediction. It is designed so that live competitive statistics and learned matchup weights can replace or augment individual inputs later without changing the drafting UI.

Architecture

  • React 19, TypeScript, and Vite 8 for the SPA.
  • Cloudflare Workers Static Assets and the Cloudflare Vite plugin for one-command local development and deployment.
  • A small Worker under /api/* for health checks and optional private-token player imports.
  • No D1, KV, R2, login system, or paid service is required for the MVP.
  • Brawler, map, and artwork metadata is snapshotted from BrawlAPI, whose assets point to Brawlify's CDN.
  • Roster and current draft state are stored in localStorage on the user's device.

Static asset requests on Cloudflare Workers are free and unlimited, while API routes count against the Workers request allowance. With the current design, normal navigation and use of the draft tool do not invoke the Worker.

Local development

Requirements: Node.js 22+ and npm.

npm install
npm run dev

Quality checks:

npm run check

Refresh the bundled BrawlAPI catalog:

npm run data:update

Production preview:

npm run build
npm run preview

Cloudflare deployment

Authenticate and deploy:

npx wrangler login
npm run deploy

The Worker is configured in wrangler.jsonc. It intentionally has no storage bindings.

Optional player-tag import

Supercell API keys are IP-allowlisted, while Workers do not have a fixed outbound IP. The implemented route uses the documented RoyaleAPI Brawl Stars proxy to bridge that limitation.

  1. Create an API key at developer.brawlstars.com.
  2. Add the RoyaleAPI proxy IP shown in its current documentation to the key's allowlist.
  3. Set the Worker secret interactively:
npx wrangler secret put BRAWL_STARS_API_TOKEN
  1. Redeploy if needed. Never commit or paste the token into source or wrangler.jsonc.

For local import testing, copy .dev.vars.example to .dev.vars and replace the placeholder. Without a token, every other feature works and the import form returns a clear configuration message.

Product research and positioning

Current products validate the need but leave room for a faster workflow:

  • Brawlify is excellent for broad live map statistics, rotations, player profiles, and team data, but the user still has to translate a statistics page into a time-sensitive draft decision.
  • Brawl Draft and BSDraft focus on dedicated draft assistance and model-generated recommendations.
  • BrawlPick already combines map fit, bans, counters, synergy, explanations, and player-tag roster import.
  • Newer tools such as Brawlytics and Deep Draft show demand for competitive analytics, learned matchup data, and personalized recommendations.

BrawlWise's launch wedge is a low-friction, one-screen ranked co-pilot: no account, no page hopping, a clearly visible draft board, immediate recalculation, and reasons short enough to use during the in-game timer.

Recommended next phases

  1. Calibrate the heuristic with opt-in draft outcomes and high-rank battle data, then display data freshness and sample sizes.
  2. Add modifiers, Ranked season pools, pick order presets, Hypercharge/Gadget readiness, favorite lanes, and comfort ratings.
  3. Add installable PWA support and an overlay/second-screen mode optimized for phones.
  4. Introduce optional sync and accounts only when cross-device rosters, saved drafts, or team workspaces justify storage. Cloudflare KV is enough for lightweight encrypted profiles; D1 is not needed at the current stage.
  5. Seek permission or a data partnership before ingesting another site's proprietary live statistics. BrawlWise currently links and attributes external sources rather than scraping them.

Data and legal notes

BrawlWise is fan-made and is not affiliated with, endorsed, sponsored, or specifically approved by Supercell. Brawl Stars names and assets belong to Supercell. A public launch should be reviewed against the current Supercell Fan Content Policy.

The repository source is licensed under MIT. Game artwork and third-party data are not covered by that license.

About

Fast, personalized Brawl Stars ranked draft assistant

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages