Stop memorizing solutions. Start mastering patterns.
A modern, pattern-based DSA learning platform for serious coding interview preparation.
π Live Demo Β Β·Β π Report Bug Β Β·Β β¨ Request Feature
| Feature | Description |
|---|---|
| π Pattern-Based Learning | Problems organized by DSA patterns β Arrays & Hashing, Strings, Linked Lists, Dynamic Programming, Graphs, Trees |
| β Progress Tracking | Mark questions as Solved, Revision, or Unsolved with persistent state |
| π LeetCode Sync | Connect your LeetCode profile and auto-sync solved problems |
| π Dashboard Analytics | Visual progress stats β overall completion %, difficulty breakdown (Easy / Medium / Hard) |
| π Firebase Authentication | Google sign-in to save and sync progress across devices |
| π Dark / Light Theme | System-aware theme toggle with smooth transitions |
| π Markdown Solutions | Rich solutions with syntax-highlighted code blocks |
| π― Smart Filtering | Filter by difficulty, status, and pattern within each topic |
| π·οΈ Interview Tips | Memory tricks and interview-focused notes for each problem |
| π± PWA Ready | Installable as a Progressive Web App with manifest and icons |
| π SEO Optimized | Dynamic meta tags, Open Graph, Twitter cards, sitemap, and robots.txt |
| π Analytics | Firebase Analytics + Vercel Analytics for usage insights |
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| Language | TypeScript |
| Styling | Tailwind CSS v4 |
| UI Components | Radix UI Β· Lucide Icons |
| Animations | Framer Motion |
| State Management | Zustand |
| Auth & Database | Firebase (Auth + Firestore) |
| Markdown | react-markdown Β· react-syntax-highlighter |
| Analytics | Vercel Analytics Β· Firebase Analytics |
| Deployment | Vercel |
# Clone the repository
git clone https://github.com/AnkitRajCode/leetcode-pattern-tracker.git
cd leetcode-pattern-tracker
# Install dependencies
npm install
# Create environment variables
cp .env.example .env.localCreate a .env.local file in the root directory:
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=your_measurement_idnpm run devOpen http://localhost:3000 in your browser.
npm run build
npm startleetcode-pattern-tracker/
βββ app/
β βββ page.tsx # Homepage β topic cards & hero section
β βββ layout.tsx # Root layout with providers & metadata
β βββ dashboard/ # Dashboard with progress stats & LeetCode sync
β βββ topics/[topic]/ # Dynamic topic pages with question tables
β βββ api/ # API routes
β βββ robots.ts # SEO robots configuration
β βββ sitemap.ts # Dynamic sitemap generation
βββ components/
β βββ table/ # Interactive question table with filters
β βββ topic/ # Topic page components
β βββ ui/ # Reusable UI primitives (Button, Dialog, etc.)
β βββ LeetcodeSync.tsx # LeetCode profile sync component
β βββ FirebaseSync.tsx # Firebase data sync on auth state
β βββ FirebaseAnalytics.tsx # Analytics tracking
β βββ MarkdownRenderer.tsx # Syntax-highlighted markdown rendering
β βββ ThemeToggle.tsx # Dark / Light mode toggle
β βββ UserNav.tsx # User navigation & auth controls
β βββ Footer.tsx # Global footer
βββ context/
β βββ AuthContext.tsx # Firebase auth context provider
βββ data/
β βββ arrays.json # Arrays & Hashing problems
β βββ strings.json # String Manipulation problems
β βββ linkedlist.json # Linked Lists problems
β βββ dp.json # Dynamic Programming problems
β βββ graph.json # Graph problems
β βββ tree.json # Tree problems
βββ store/
β βββ questionStore.ts # Zustand store for question state
βββ lib/ # Firebase config & utilities
βββ public/ # Static assets, icons, manifest
βββ types/ # TypeScript type definitions
| Home Page | Topic Page |
|---|---|
| Pattern-based topic cards with stats | Interactive table with filters & solutions |
| Dashboard | Dark Mode |
|---|---|
| Progress analytics & LeetCode sync | Full dark theme support |
- Blind 75 Problem List
- Blind 75 Spreadsheet
- Top 75 LeetCode Questions β GitHub
- Top 75 LeetCode Questions β Web Version
- DSA Sheet by Arsh (45β60 Days Plan)
- DSA by Shradha Ma'am
- DSA Sheet by Love Babbar
- Striver's SDE Sheet
- Striver's 79 Last Moment DSA Sheet
- DSA Patterns Roadmap β KushalVijay
- AlgoMaster DSA Course Roadmap
- SDE Sheets Collection
- Tech Interview Handbook β GitHub
- Interview Master 100 β Instabyte
- DSA Master β Instabyte
- FAANG Coding Interview Questions
- Design Patterns Catalog β Refactoring Guru
- InterviewReady β System Design Course
- Complete System Design Roadmap β takeUforward
- Introduction to NoSQL Databases
- What is Consistent Hashing and Where is it Used?
- Backend from First Principles by Sriniously β YouTube Playlist
| Area | Repository |
|---|---|
| Java | Java Code Examples β navinreddy20 |
| Spring 6 | Spring 6 Course β navinreddy20 |
| Microservices | Microservices Tutorials β navinreddy20 |
| AI/ML | LangChain and Ollama β laxmimerit |
| Angular | Angular Interview Questions β sudheerj |
Contributions are welcome! Feel free to open issues and submit pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open source and available under the MIT License.
Ankit Raj
π Portfolio Β Β·Β GitHub Β Β·Β Twitter Β Β·Β LinkedIn
β Star this repo if it helped your interview prep!