Skip to content

kunstewi/learnings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

81 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Complete 0-1 Syllabus

Foundation

  • 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

Frontend

  • 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

Basic DevOps

  • Docker end to end
  • Deploying to AWS servers
  • Newer clouds like fly/Remix
  • Nginx and reverse proxies

Projects

  • GSoC Project setting up and issue solving
  • Building Paytm/Wallet End to End

Complete 1-100 Syllabus

Advanced Backend, System Design

  • 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

Advanced DevOps

  • 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)

Projects

  • Zerodha end to end
  • Zapier end to end
  • Real world open source projects

πŸ“Š Progress Tracking

🎯 Simple 3-Step Workflow

  1. Mark questions in README files as you study: βœ… ⚠️ ❌
  2. Run scanner: node scan-progress.js
  3. Done! Progress automatically tracked

How to Mark Questions

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 Learn

Marker Options:

  • Emojis (recommended): βœ… ⚠️ ❌
  • Text: [DONE] [FAMILIAR] [TODO]
  • Checkboxes: - [x] - [~] - [ ]

Available Commands

scan-progress.js ⭐ Main Tool

Automatically scans all README files and updates your progress.

# Scan and update progress
node scan-progress.js

# Show help
node scan-progress.js --help

What it does:

  • Counts all marked questions (βœ… ⚠️ ❌)
  • Updates progress.json automatically
  • Shows progress dashboard
  • No manual counting needed!

study-tracker.js - View Dashboard

See your complete progress anytime.

node study-tracker.js

Shows:

  • Total: 17,501 questions across 28 topics
  • Completion percentage
  • Visual progress bar
  • Topic breakdown
  • Estimated completion date

Daily Workflow

# 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 push

Example

Before 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!

Tips

  • βœ… Use for questions you fully understand
  • ⚠️ Use for questions you partially understand
  • ❌ Use for questions you haven't studied yet
  • Run node scan-progress.js daily
  • 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! πŸš€

Daily Progress Tracking - Implementation Guide

What Changed

The study tracker has been updated to show daily progress instead of milestone tracking:

Before:

  • ❌ Next Milestone: 500 questions
  • ❌ Questions needed: 497

After:

  • βœ… 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)

How It Works

1. Questions Completed Today

  • 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

2. Expected Questions Solved Till Date

  • Based on 200 questions per day target
  • Calculated from your start date (automatically set when first run)
  • Formula: Days since start Γ— 200

3. Progress Indicator

  • βœ… Green checkmark: You're on track or ahead
  • ⚠️ Warning: You're behind schedule
  • Shows the difference: (+50 vs expected) or (-197 vs expected)

Files Created

progress-metadata.json

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
  }
}

Usage

View Progress (same as before)

node study-tracker.js

Update Progress (same as before)

node study-tracker.js update

When you update progress, the system automatically:

  1. Saves your progress to progress.json
  2. Updates the daily log in progress-metadata.json
  3. Calculates today's progress

Customization

Change Daily Target

Edit line 134 in study-tracker.js:

const questionsPerDay = 200; // Change this number

Reset Start Date

Edit progress-metadata.json and change the startDate field to your desired start date:

{
  "startDate": "2026-01-01",  // Your actual start date
  ...
}

Example Output

πŸ’‘ 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)

Tips

  1. Update daily: Run node study-tracker.js update at the end of each study session
  2. Track honestly: The system works best when you update it regularly
  3. Don't worry about being behind: The tracker helps you see trends, not judge you
  4. Adjust your target: If 200/day is too much, change it to something sustainable

Technical Details

  • 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 dailyLog object
  • Start date is set automatically on first run (today's date)

About

lock in, it's now or never

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published