- Foundation Javascript, async nature of JS
- Node.js and its runtime
- Databases (NoSQL/SQL)
- Mongo and Postgres deep dive
- Typescript beginner to advance
- Backend
- Backend communication protocols
- Express basic to advance
- ORMs
- Middlewares, routes, status codes, global catches
- Zod
- MonoRepos, turborepo
- Serverless Backends
- OpenAPI Spec
- Autogenerated clients
- Authentication using external libraries
- Scaling Node.js, performance benchmarks
- Deploying npm packages
- Reconcilers and Frontend frameworks
- React beginner to advance
- Internals of state, Context API
- State management using recoil
- CSS you need to know of, Flexbox, basic styling
- Frontend UI frameworks, Deep dive into Tailwind
- Containerization, Docker
- Next.js
- Custom hooks
- In house auth using next auth
- Docker end to end
- Deploying to AWS servers
- Newer clouds like fly/Remix
- Nginx and reverse proxies
- GSoC Project setting up and issue solving
- Building Paytm/Wallet End to End
- Advanced backend communication
- Message queues and PubSubs
- Proxies, Load balancers
- Redis Deep dive
- Kafka Deep dive
- Common Design Patterns in JS
- Advanced DB concepts (Indexing, normalization)
- Rate limitting
- Captchas and DDoS protection
- Sharding, Replication, Resiliency
- Horizontal and vertical scaling
- Polling and websockets
- Grpc
- Capacity Estimation
- Load Balancers
- CAP Theorem
- Testing Node.js Apps in 2023
- Real time communication, basics of WebRTC
- Container Orchestration, Docker Swarm
- Kubernetes
- CI/CD
- Monitoring systems basics to advance
- Promhetheus, Grafana
- Newrelic as a paid service
- Serverless Deep dive
- AWS Constructs (EC2, S3, CDNs, LB, EKS)
- Zerodha end to end
- Zapier end to end
- Real world open source projects
- Mark questions in README files as you study: β
β οΈ β - Run scanner:
node scan-progress.js - Done! Progress automatically tracked
Open any topic's README.md (e.g., 02-js/README.md) and add markers:
β
1. Explain how js gets executed in the browser β Completed/Understood
β οΈ 2. What is a closure? β Familiar/In Progress
β 3. What is async/await? β Need to LearnMarker Options:
- Emojis (recommended):
ββ οΈβ - Text:
[DONE][FAMILIAR][TODO] - Checkboxes:
- [x]- [~]- [ ]
Automatically scans all README files and updates your progress.
# Scan and update progress
node scan-progress.js
# Show help
node scan-progress.js --helpWhat it does:
- Counts all marked questions (β
β οΈ β) - Updates
progress.jsonautomatically - Shows progress dashboard
- No manual counting needed!
See your complete progress anytime.
node study-tracker.jsShows:
- Total: 17,501 questions across 28 topics
- Completion percentage
- Visual progress bar
- Topic breakdown
- Estimated completion date
# 1. Study questions and mark them in README files
# 2. Run scanner
node scan-progress.js
# 3. Commit your progress
git add .
git commit -m "Day X: Studied Y questions"
git pushBefore studying (02-js/README.md):
1. What is JavaScript?
2. What is a closure?After studying:
β
1. What is JavaScript?
β οΈ 2. What is a closure?Run scanner:
$ node scan-progress.js
π 02-js β
1 β οΈ 1 β 0
β
Progress updated!- β Use for questions you fully understand
β οΈ Use for questions you partially understand- β Use for questions you haven't studied yet
- Run
node scan-progress.jsdaily - Commit marked README files to track progress over time
Total Questions: 17,501 | Estimated Time: ~6 months at 100 Q/day
Start tracking your progress today! π
The study tracker has been updated to show daily progress instead of milestone tracking:
- β Next Milestone: 500 questions
- β Questions needed: 497
- β
Questions Completed Today (Done + In Progress): 55
- Completed: 31
- In Progress: 24
- β Expected Questions Solved Till Date (200/day): 200
- β
Your Progress: 55
β οΈ (-145 vs expected)
- Tracks how many questions you've worked on since yesterday
- Includes both completed AND in-progress questions
- Calculated by comparing today's total (completed + in-progress) with yesterday's total
- Resets automatically each day
- Shows breakdown of completed vs in-progress
- Based on 200 questions per day target
- Calculated from your start date (automatically set when first run)
- Formula:
Days since start Γ 200
- β Green checkmark: You're on track or ahead
β οΈ Warning: You're behind schedule- Shows the difference:
(+50 vs expected)or(-197 vs expected)
Stores daily tracking information:
{
"startDate": "2026-01-03", // When you started tracking
"lastUpdated": "2026-01-03", // Last time you updated progress
"yesterdayTotal": 0, // Total questions as of yesterday
"dailyLog": { // Historical daily totals
"2026-01-03": 3,
"2026-01-04": 203
}
}node study-tracker.jsnode study-tracker.js updateWhen you update progress, the system automatically:
- Saves your progress to
progress.json - Updates the daily log in
progress-metadata.json - Calculates today's progress
Edit line 134 in study-tracker.js:
const questionsPerDay = 200; // Change this numberEdit progress-metadata.json and change the startDate field to your desired start date:
{
"startDate": "2026-01-01", // Your actual start date
...
}π‘ STUDY INSIGHTS
At 200 questions/day:
- Days to completion: 88
- Weeks to completion: 13
- Estimated completion: April 1, 2026
Questions Completed Today (Done + In Progress): 55
- Completed: 31
- In Progress: 24
Expected Questions Solved Till Date (200/day): 200
Your Progress: 55 β οΈ (-145 vs expected)
- Update daily: Run
node study-tracker.js updateat the end of each study session - Track honestly: The system works best when you update it regularly
- Don't worry about being behind: The tracker helps you see trends, not judge you
- Adjust your target: If 200/day is too much, change it to something sustainable
- Daily progress is calculated by comparing today's total (completed + in-progress) with yesterday's total
- Both completed and in-progress questions count toward your daily progress
- The system automatically handles day transitions
- Historical data is preserved in the
dailyLogobject - Start date is set automatically on first run (today's date)