Skip to content

Rankflowapp/Rankflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

49 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Rankflow

Climb smarter. โ€” Your Valorant performance coach.

Rankflow is a player improvement and coaching analytics platform for Valorant. Unlike traditional stat trackers, Rankflow transforms match history into actionable coaching signals, helping players understand their weaknesses and climb ranks.

๐Ÿ”— Live: https://rankflow-xi.vercel.app


๐Ÿ“– Table of Contents


๐ŸŽฏ Vision & Philosophy

Rankflow is designed as a pre-game decision tool + post-game feedback loop for competitive Valorant players.

Core philosophy:

  • Simple > complex โ€” a player should understand their stats at a glance
  • Actionable > data-heavy โ€” every insight must lead to a decision
  • Fast > feature-overloaded โ€” the site respects the player's time

Key differentiator vs tracker.gg: Rankflow translates raw stats into human advice. A Bronze player with 50% headshot rate doesn't know this is irrelevant for climbing โ€” Rankflow tells them what actually matters at their rank.

Target audience: Competitive Valorant players (Iron to Radiant) who want structured improvement.


๐Ÿ›  Tech Stack

  • Framework: Next.js 16 (App Router, Server Components)
  • Language: JavaScript
  • Styling: Tailwind CSS
  • Font: Space Grotesk (via next/font/google)
  • Deployment: Vercel (auto-deploy on git push)
  • APIs:
    • Henrik API (primary, free tier) โ€” https://api.henrikdev.xyz
    • Riot API (pending official access) โ€” currently limited developer key

Environment variables (.env.local + Vercel):

  • HENRIK_API_KEY โ€” HDEV-... key for Henrik API
  • RIOT_API_KEY โ€” RGAPI-... key (not actively used yet)

๐Ÿ“ Project Structure

app/ โ”œโ”€โ”€ layout.js # Root layout (font, header, background) โ”œโ”€โ”€ page.js # Home page with search bar โ”œโ”€โ”€ globals.css # Global styles + utility classes โ””โ”€โ”€ player/[name]/[tag]/ โ”œโ”€โ”€ page.js # Dashboard (profile, rank, curve, recap) โ”œโ”€โ”€ coach/page.js # Coach (session plan, tips, alerts) โ”œโ”€โ”€ maps/page.js # Maps list (3 columns by WR) โ”œโ”€โ”€ map/[mapName]/page.js # Map detail (stats, agents, matches) โ”œโ”€โ”€ agents/page.js # Agents list (3 columns by WR) โ”œโ”€โ”€ agent/[agentName]/page.js # Agent detail (KDA, maps, matches) โ”œโ”€โ”€ advanced/ โ”‚ โ”œโ”€โ”€ page.js # Server component (data fetching) โ”‚ โ””โ”€โ”€ AdvancedView.js # Client component (interactive UI) โ””โ”€โ”€ history/ โ”œโ”€โ”€ page.js # Server component (data fetching) โ””โ”€โ”€ HistoryView.js # Client component (filters)


โœจ Features

๐Ÿ” Home Page

  • Large RANKFLOW branding with red Valorant glow effect
  • "Climb smarter." signature slogan
  • Riot ID search bar (Name#TAG format)
  • 3 feature teasers (Dashboard, Coach, Progression)

๐Ÿ“Š Dashboard (/player/[name]/[tag])

  • Player profile (card, name, level)
  • Current rank with RR and last game change
  • Rank progression curve with dynamic rank-based Y-axis
  • Session recap (wins/losses/winrate) with link to Coach

๐ŸŽฏ Coach (/player/[name]/[tag]/coach)

  • Session Plan โ€” best map to play, worst map to avoid, suggested agent
  • Rank-based tips โ€” 4 brackets (Iron/Bronze, Silver/Gold, Plat/Diamond, Ascendant+)
  • Smart alerts:
    • Loss streak detection (3+ consecutive losses) โ€” red Valorant alert
    • Win streak detection (3+ consecutive wins) โ€” emerald alert
    • Agent warning (3+ games, WR โ‰ค 35%)
    • Map warning (3+ games, WR โ‰ค 35%)
  • Best/Worst map cards
  • Best/Worst agent cards

๐Ÿ—บ๏ธ Maps (/player/[name]/[tag]/maps)

  • 3-column layout by performance:
    • ร€ privilรฉgier (WR > 55%) โ€” emerald
    • ร€ consolider (WR 45-55%) โ€” indigo
    • ร€ รฉviter (WR < 45%) โ€” rose
  • Click any map โ†’ detail page with stats, agents played, recent matches

๐ŸŽญ Agents (/player/[name]/[tag]/agents)

  • Same 3-column structure as Maps
  • Click any agent โ†’ detail page with KDA averages, maps played, recent matches

โšก Advanced Stats (/player/[name]/[tag]/advanced)

Interactive UI with overview grid + expandable detail cards:

  • โš”๏ธ First Duel Rate โ€” % of first duels won
  • ๐Ÿค Trade Rate โ€” % of deaths traded within 5s
  • โญ KAST โ€” Kill/Assist/Survive/Trade percentage
  • ๐Ÿ”ซ Pistol Rounds โ€” winrate on rounds 1 and 13
  • ๐Ÿ’ฅ Damage per Round โ€” average DPR with pro benchmark
  • ๐Ÿ’ฐ Eco vs Full Buy โ€” kills per round by economy state

Each metric includes a coach insight in plain language.

๐Ÿ“œ History (/player/[name]/[tag]/history)

  • Total session RR net (+/- X RR)
  • Filters: All / Wins / Losses
  • Each match: map, agent icon, score, KDA, RR change

๐ŸŽจ Design System

Colors

Primary palette:

  • Background: slate-950 (darkest)
  • Cards: slate-900 / slate-800
  • Borders: slate-800 / slate-700
  • Text: white / slate-300 / slate-400

Accent: Rouge Valorant #FF4654 Used for:

  • Logo hover
  • Search button
  • Critical alerts (loss streak)
  • RANKFLOW glow on home page
  • Identity signature point (after "Climb smarter.")

Status colors:

  • Good: emerald-400 / emerald-500
  • Neutral: indigo-400 / indigo-500
  • Warning: amber-400 / orange-400
  • Bad: rose-400 / rose-500

Typography

Font: Space Grotesk (Google Fonts via next/font)

  • Variable CSS: --font-space-grotesk
  • Used everywhere via font-sans (Tailwind default overridden in config)

Conventions:

  • tracking-tighter for big titles (hero)
  • tracking-tight for numbers and stats
  • tracking-wider for uppercase labels

Utility Classes (in globals.css)

.card-hover        /* Subtle lift + border highlight */
.card-interactive  /* Bigger lift + indigo border + shadow */
.fade-in           /* Progressive appearance animation */

Micro-interactions

  • Back arrows (โ†) slide left on hover
  • Forward arrows (โ†’) slide right on hover
  • Cards lift slightly on hover
  • Active navigation tab has gradient + border
  • Home page: red pulsing dot on "Valorant Performance Tracker" badge

๐Ÿ’ป Code Conventions

Server vs Client Components

  • Server Components (default) for pages that only fetch and display data
  • Client Components ("use client") only when interactivity is needed (useState, onClick)
  • Pattern for interactive pages: Server page.js fetches data โ†’ passes to Client XxxView.js component

Example: advanced/page.js (server) + advanced/AdvancedView.js (client)

Data Flow

All data comes from Henrik API. Routes used:

  • v1/account/{name}/{tag} โ€” player profile
  • v2/mmr/eu/{name}/{tag} โ€” current rank
  • v1/mmr-history/eu/{name}/{tag} โ€” rank history for curves and RR changes
  • v4/matches/eu/pc/{name}/{tag}?mode=competitive&size=20 โ€” detailed match data

Known limits:

  • Henrik free tier returns 10 matches max even if size=20 is requested
  • Official Riot API access would unlock real-time data, full match history, and more granular signals

Navigation Pattern

All player pages share a sub-navigation bar: Dashboard | Coach | Maps | Agents | Stats avancรฉes | Historique The active tab uses:

๐Ÿ—บ๏ธ Roadmap

โœ… Done

  • Home page with search
  • Dashboard with profile, rank, progression curve
  • Coach with session plan, tips, alerts
  • Maps (list + 3 columns + detail)
  • Agents (list + 3 columns + detail)
  • Advanced stats (6 metrics with interactive accordions)
  • History with RR per match and filters
  • Design polish (typography, palette, micro-interactions)
  • Deployment on Vercel with env vars

๐Ÿ”„ To Consider

  • Apply "3 columns" logic to Coach page (best/worst map and agent)
  • Add "New" badge on Advanced Stats tab
  • Week-over-week progression comparison (requires DB storage)
  • More advanced metrics:
    • Clutch rate (1vX situations)
    • Positional heatmaps (x/y death zones)
    • Synergy analysis (teammates with highest WR together)
    • Time-of-day performance patterns
  • More coach detections:
    • Tilt detection via KDA drop
    • Agent pool too wide warning
    • Time-based fatigue warning

๐Ÿ”ฎ Long-term

  • Official Riot API access (pending)
  • User accounts with historical data storage
  • Comparison between players
  • Mobile-first optimizations
  • More languages (currently FR)

๐Ÿš€ Setup

Prerequisites

Local Development

# Clone the repo
git clone https://github.com/Rankflowapp/Rankflow.git
cd Rankflow

# Install dependencies
npm install

# Create .env.local
echo "HENRIK_API_KEY=HDEV-your-key-here" > .env.local

# Run dev server
npm run dev

Open http://localhost:3000

Deployment

The project auto-deploys to Vercel on every push to main. Environment variables must be configured in Vercel Settings.


๐Ÿ“ง Contact

Project owner: Aurel (Sparni#EUW)

Rankflow complies with Riot's Developer Policies. It does not offer boosting, account marketplaces, gambling features, or unofficial game modifications.


Built with Next.js, Tailwind, and a lot of ranked games.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors