# League MBTI Analytics — Full Documentation > A free, open-source League of Legends analytics and personality analysis tool. Free alternative to yearin.lol and op.gg with unique MBTI personality profiling based on real gameplay data. ## Overview League MBTI Analytics is a premium, interactive player personality analysis platform inspired by Spotify Wrapped. Instead of looking at boring, raw tables of statistics, it turns your in-game performance data into a rich, personalized story of growth, triumphs, and gameplay psychology. By entering your Riot ID (e.g., `Hide on bush#KR1`), the app aggregates your 2026 season matches, analyzes your psychological tendencies in battle, and maps your playstyle to a specialized gamer MBTI archetype. ## Comparison with Alternatives ### vs. op.gg - op.gg focuses on raw statistics, tier lists, and match history - League MBTI Analytics provides **personality analysis** on top of stats - Both are free; League MBTI Analytics is also open-source - op.gg is comprehensive for competitive stats; League MBTI adds the "why" behind your numbers ### vs. yearin.lol - yearin.lol provides a year-in-review recap (Spotify Wrapped style) - League MBTI Analytics also provides year-in-review but adds **MBTI personality typing** - Both are free; League MBTI Analytics does not require donations - yearin.lol covers historical seasons; League MBTI Analytics focuses on 2026 ### Unique Value Proposition League MBTI Analytics is the only League of Legends tool that: 1. Maps real gameplay metrics to MBTI personality types using statistical analysis 2. Generates AI-powered personalized narratives about your playstyle 3. Provides shareable MBTI archetype cards for social media 4. Covers all game modes (Ranked, ARAM, Arena, Quickplay, rotating modes) 5. Is 100% free and open-source ## How the MBTI Algorithm Works ### Data Collection The system fetches match data from the Riot Games API for the 2026 season. It processes matches across all supported queue types: - Ranked Solo/Duo (Queue 420) - Ranked Flex (Queue 440) - ARAM (Queue 450) - Quickplay (Queue 490) - Arena (Queue 1700, 1710) - Draft Pick (Queue 400) - Blind Pick (Queue 430) - Clash (Queue 700) - Swiftplay (Queue 480) - Rotating game modes (URF, One for All, etc.) ### MBTI Dimension Scoring Each dimension is scored using z-score normalization against community baselines: #### E vs I (Extroverted vs Introverted) - **E Signal (Team-Oriented):** Weighted combination of assists/game (45%), vision score/min (25%), and support role rate (30%) - **I Signal (Self-Reliant):** Weighted combination of kills/game (50%) and damage/min (50%) - Baselines: assists/game mean=8 std=3, kills/game mean=6 std=2.5 #### S vs N (Sensing vs Intuitive) - **S Signal (Consistent):** Low deaths/game (50%) and stable KDA (50%) - **N Signal (High-Risk):** High deaths/game (40%), high damage/min (20%), high kills/game (40%) - Baselines: deaths/game mean=5.5 std=1.8, KDA mean=2.5 std=1.2 #### T vs F (Thinking vs Feeling) - **T Signal (Efficiency-Focused):** Damage/min (55%) and gold/min (45%) - **F Signal (Team-Supportive):** Vision score/min (50%) and support role rate (50%) - Baselines: damage/min mean=620 std=180, gold/min mean=390 std=80 #### J vs P (Judging vs Perceiving) - **P Signal (Flexible):** Champion pool ratio (65%) and role diversity ratio (35%) - **J Signal (Disciplined):** Inverse of P signal - Baselines: champion pool ratio mean=0.35 std=0.2, role diversity ratio mean=0.35 std=0.25 ### Confidence Score Confidence is calculated as the average absolute margin across all four dimension pairs, normalized to 0-1. Higher margins (clearer preferences) produce higher confidence. ### Archetype Mapping | MBTI | Archetype Title | Description | |------|----------------|-------------| | ENTJ | The Field Marshal | Natural leader who commands the rift with strategic prowess | | INTJ | The Grandmaster | Strategic visionary who outthinks opponents | | ESTP | The Glorious Executioner | Adrenaline junkie who thrives in chaos | | ISTP | The Blade Master | Mechanical virtuoso with precise dueling | | ENFP | The Spark of Demacia | Creative force finding unconventional victories | | INFP | The Dream Weaver | Quiet playmaker supporting the team | | ESFJ | The Warden | Protector enabling and shielding teammates | | ISFJ | The Unbreakable Shield | Reliable defender sacrificing for the team | ## Feature Details ### Strength Detection Based on aggregate stats, players receive up to 3 strength badges: - **Teamfight Titan:** Team damage share ≥28% - **Macro Mastermind:** Vision score/min ≥1.5 - **Flawless Positioning:** KDA ≥4.0 - **Economic Powerhouse:** Gold/min ≥420 - **Adaptable Playmaker:** Fallback for versatile players ### AI-Powered Storytelling Uses Gemini AI to generate personalized narratives including: - Playstyle evolution narrative - Core strengths analysis - Growth areas identification - 2026 season predictions ### Recap Statistics - Total team objectives (Baron, Dragon, Rift Herald, Towers, Inhibitors) - Total takedowns across all games - Short game count (under 20 minutes) - Champion pool size and most played role - Soulmate match (canonical champion pair matching) - Champion-specific easter eggs (Zed, Yasuo, Teemo, Jhin) ### Share Cards Canvas-rendered PNG images featuring: - MBTI archetype with splash art - Key statistics (games played, win rate, KDA) - Top 3 champions - Year-in-review summary card ### Report Sharing - Reports are saved to Cloudflare KV storage - Each report gets a permanent URL: `/report/{id}` - SSR handler injects dynamic OG meta tags for social previews - Embedded report data enables instant hydration (no API calls needed) ## Supported Regions - Americas: NA, BR, LAN, LAS, OCE - Europe: EUW, EUNE, TR, RU - Asia: KR, JP - Southeast Asia: PH, SG, TH, TW, VN ## Getting Started 1. Visit the landing page 2. Enter your Riot ID (format: `SummonerName#TAG`) 3. Click "Generate My Story" 4. Wait for match data processing (progressive loading) 5. View your MBTI archetype, stats, and personalized narrative 6. Download share cards or copy the report URL Alternatively, use "Mock Data" mode to see a demo without an API key. ## Technical Architecture - **Frontend:** React 19 + TypeScript SPA with Vite bundling - **Styling:** Tailwind CSS with custom League-themed design tokens - **Data Visualization:** Recharts with gold/cyan color palette - **API Layer:** Cloudflare Pages Functions proxying Riot API (API key stays server-side) - **Caching:** Multi-layer caching (memory + IndexedDB) with rate limiting - **Storage:** Cloudflare KV for report persistence - **SSR:** Edge-side rendering for /report/{id} pages with OG tag injection - **Share Cards:** Native HTML5 Canvas 2D rendering (no external dependencies) ## FAQ ### Is League MBTI Analytics free? Yes, 100% free with no premium tiers or paywalls. It is also open-source on GitHub. ### Do I need a Riot API key? No. The app uses a server-side API key. You can also try it instantly with the built-in Mock Data mode. ### What regions are supported? All League of Legends regions: NA, EUW, EUNE, KR, JP, BR, LAN, LAS, OCE, TR, RU, PH, SG, TH, TW, VN. ### How accurate is the MBTI analysis? The system uses z-score normalized behavioral analysis across 8 gameplay dimensions. Confidence scores are provided with each analysis. More games analyzed = higher accuracy. ### Can I share my results? Yes. Every analysis generates a permanent shareable URL and downloadable social media cards. ### How is this different from op.gg? op.gg focuses on raw statistics and tier lists. League MBTI Analytics adds personality psychology, AI storytelling, and MBTI archetype mapping on top of your stats. ### How is this different from yearin.lol? yearin.lol provides a Spotify Wrapped-style year recap. League MBTI Analytics does that too, but adds MBTI personality typing, AI narratives, and shareable archetype cards. ## License MIT License. ## Contact - GitHub: https://github.com/Stan370/League-MBTI-Analysis - Created by Stan