pages and routes
TanStack Router tree in src/router.tsx.
| Path | Page |
|---|---|
/ |
Market / landing. URL builder, API links, demo heatmap. |
/app |
Handle form + stacked cards (HomePage). |
/profile |
Aggregated profile (heatmap, ratings, rings). |
/github/$username |
GitHub deep dive |
/leetcode/$username |
LeetCode deep dive |
/codeforces/$username |
Codeforces deep dive |
/gfg/$username |
GFG deep dive |
/codechef/$username |
CodeChef deep dive |
/hackerrank/$username |
HackerRank deep dive |
/tuf/$username |
TUF deep dive |
/login |
Google sign-in. ?next=/path continues after auth. |
/account |
Claim username, save config. /onboarding is an alias. |
/$profileUsername |
Public saved profile. Catch-all, so it sits last. |
Share URLs#
/app and /profile sync handles with nuqs:
https://codetrace.xyz/profile?github=tashifkhan&leetcode=khan-tashif&codeforces=tourist
Empty platforms are omitted. Share copies window.location.href. That is the long URL, not the claimed /$username unless you already opened that.
Deep dives vs the stack#
Platform cards on /app link into /{platform}/$username. Those pages still hit the same stats APIs, with extra charts the summary card skips (contest tables, full rating history).