ThunderCross โšก

"Every Character. One Arena."

Browse, battle and rank characters from ๐ŸŽฌ Movies ยท ๐Ÿ“บ TV ยท ๐ŸŽŒ Anime ยท ๐ŸŽฎ Games ยท ๐Ÿ“š Comics & Manga.

โ–ถ Open ThunderCross

Features

FeatureHow it works
๐Ÿ†Global RankingsCharacters sorted by community Elo, filterable by category
โš”๏ธCharacter BattlesRandom 1v1 matchups โ€” click the winner, Elo updates for everyone
โญPower LevelsEditorial baseline 0โ€“100 shown alongside the community Elo
๐Ÿ“ˆTrendingMost-battled characters in the last 24 hours
๐Ÿ…LeaderboardsTop fighters by Elo + top community judges by votes
๐Ÿ‘ฅUser ProfilesHandle + emoji avatar; tracks battles judged, favorite champions, posts
๐ŸŒŽDiscussionsGlobal feed plus per-character threads

Structure

main.ts     Hono API + static file serving (HTTP entrypoint)
db.ts       SQLite schema + first-run seeding
seed.ts     Starter roster of 33 characters
index.html  App shell
style.css   Theme
app.js      Hash-routed client (rankings, battle, trending, leaderboard, discuss, character & user pages)
Rendering mermaid diagram...

Elo

Each battle uses K=32: the winner gains round(32 ร— (1 โˆ’ expected)), the loser loses the same. Upsets move the needle more than expected wins.

Adding characters

Append to seed.ts (only seeds on an empty DB) or insert directly:

INSERT INTO characters (name, franchise, category, emoji, power, bio) VALUES ('Vegeta', 'Dragon Ball', 'Anime', '๐Ÿ‘‘', 96, 'Prince of all Saiyans.');

Categories: Movies, TV, Anime, Games, Comics.