leetcode wrapped a "spotify wrapped" style recap for your leetcode journey. deployed at leetcodewrapped.com quick start install dependencies: npm install run locally: npm run start build for production: npm run build directory structure โโโ src/ โ โโโ api/ # api wrappers (leetcode, firebase, etc.) โ โโโ components/ # react components โ โ โโโ slides/ # individual wrapped slides (intro, stats, etc.) โ โโโ App.jsx # main application logic โ โโโ main.jsx # entry point & providers โ โโโ firebase.js # firebase configuration โโโ functions/ # cloudflare functions (server-side proxy) โโโ public/ # static assets โโโ firestore.rules # database security rules โโโ index.html # html entry point tech stack frontend : react, vite, framer motion : react, vite, framer motion backend : cloudflare pages functions (proxy), firebase (db & auth) : cloudflare pages functions (proxy), firebase (db & auth) analytics: posthog Note: The last 5 slides are not necessarily specific to 2025 because of leetcode's graphql api only allows querying up to 20 of the latest submissions from an unauthenticated user. However, if you pass a LEETCODE_SESSION cookie (obtained from leetcode.com, open dev tools -> application -> cookies) with your request you can query all of your accounts submissions. You could also use the calendar endpoint query all of your submissions in the past year, and thus create a much more nuanced leetcode wrapped. (ex: You struggled with this problem the most in 2025.) I was hesitant to implement this because obviously people wouldn't trust inputting a cookie into a form, but if this repo gets lots of stars I'll make a chrome extension that gets around this. Note Note: I used firebase firestore database and trigger email extension to send out emails to users, as well as posthog for analytics. However, you can still clone the repository and run it locally without these features.
First seen: 2025-12-07 20:23
Last seen: 2025-12-08 02:24