Daily Coding Challenges & Projects
Weekend
Frontend Mini Project Challenge
Focus : HTML, CSS, and JavaScript
Build a "Dark Mode + Light Mode Toggle" using HTML, CSS, and JavaScript
Requirements :
- Add a toggle button (switch or icon).
- Store the user’s theme preference using localStorage.
- Smooth transition (CSS) between themes.
- Bonus : Animate the toggle using CSS transforms.
Hints :
- Add .dark-mode to and update styles.
- CSS transition: transition: background-color 0.3s, color 0.3s;
- JS : localStorage.setItem("theme", "dark")
Backend Challenge
Language Focus : Scala, R, Swift, TypeScript (Node.js + TS)
Scala Backend Challenge ( Akka HTTP ) :
Problem : Create an API endpoint:
GET /fibonacci/{n} → Return the n-th Fibonacci number.
- Use Akka HTTP routing.
- Handle invalid inputs with proper error messages.
R Backend Challenge (Data API) :
Problem : Build an R API endpoint using plumber :
- Route : /summary
- Accept CSV upload.
- Return mean, median, max, min of numeric columns.
Swift Backend Challenge ( Vapor ) :
Problem : Create a Vapor route :
POST /reverse
- Accepts JSON { "text": "Hello" }
- Returns { "result": "olleH" }
TypeScript Backend Challenge (Node.js + TS)
Problem : Create an API endpoint using Express + TypeScript :
GET /users/active
- Returns users active in the last 30 days.
- Validate using zod.
Database Query Challenge
Problems on SQL - HR Database :
- Find all employees who have never received a salary increment.
- Find the top 3 highest-paid employees in each department.
Data Structures & Algorithms Challenge
- Easy :
- Problem : Check if an array is a palindrome (same forward & backward).
- Hint : Compare arr[i] with arr[n-1-i].
- Medium :
- Problem : Given an array, return the length of the longest increasing subsequence (LIS).
- Hint :
- Use DP: dp[i] = LIS ending at i.
- Or binary search optimization.
- Hard :
- Problem : Design a data structure that supports:
- insert(x)
- delete(x)
- getRandom() — returns a random element in O(1).
- Hint :
- Use hash map + dynamic array.
Bug of the Day
Language Focus : Scala, R, Swift, TypeScript
Buggy Code ( Scala ) :
val numbers = List(1, 2, 3)
println(numbers.map(x => x * 2))
println(numbers(5)) // Bug
Task : Identify and fix.
Buggy Code ( R ) :
data <- data.frame(a=c(1,2,3))
print(mean(data))
Task :Why error? Fix using correct column selection
Buggy Code ( Swift ) :
let name: String? = nil
print(name.count)
Task : Fix nil handling.
Buggy Code ( TypeScript ) :
let val: number | string = 10;
console.log(val.toFixed(2)) // Bug?
📋 Daily Micro-Project
Focus : Backend
Task :
Create a small JWT Authentication Service
- /login → returns JWT
- /profile → verify JWT
- /logout → blacklist token
- Use any backend language (Scala/R/Swift/TS)
Bonus : Token expiry checker.
Trivia: 5 Fun Facts
- Set 1 :
- Python was named after "Monty Python."
- Java was originally called Oak.
- Linux was written by Linus Torvalds at age 21.
- WWW was invented by Tim Berners-Lee in 1989.
- Git was created by Linus Torvalds.
- Set 2 :
- The first computer bug was a real moth.
- JSON was created by Douglas Crockford.
- PHP originally stood for "Personal Home Page."
- Go was created at Google in 2007.
- React was open-sourced in 2013 by Facebook.
- Set 3 :
- SQL was developed at IBM in 1970s.
- The first website is still online.
- Linux mascot "Tux" was designed in 1996.
- C language was created at Bell Labs.
- The original name of JavaScript was Mocha.
- Set 4 :
- The first website is offline now.
- Gmail started as a 20% Google side project.
- Apple’s first logo showed Isaac Newton.
- Unicode has 150,000+ characters.
- The term “bug” dates back to 1878 (Edison).
- Set 5 :
- IBM’s ENIAC weighed 27 tons.
- Apple used to sell clothing in 1980s.
- MySQL is named after co-founder’s daughter (“My”).
- Python’s package installer is younger than the language.
- Rust won “most loved language” many years.
Tool & Resource of the Day
Tool : Postman
Best API testing & automation tool.
Resource Roundup :
- TypeScript Handbook (free)
- MDN Web Docs
- PostgreSQL Query Optimization Guide
- React Beta Docs
- "Scala at Light Speed" free PDF
Interview Question of the Day
Daily Interview Questions
-
Frontend :
- What is the difference between v-if and v-show in Vue?
- Explain event bubbling in JavaScript.
- What causes React re-renders?
- What is CSS specificity? How is it calculated?
-
Backend :
- Explain immutability in Scala.
- How does R handle vectorized operations?
- What are optionals in Swift?
- Explain TypeScript type narrowing.
- What is a CTE?
- Why use indexes?
- Difference between GROUP BY and window functions?
- What is CI/CD?
- What does a load balancer do?
Daily Quiz Challenge
- What does computed do in Vue?
- CSS : What does transform: scale(1.2) do?
- What is a React Hook?
Frontend :
- Scala : What is pattern matching?
- R : What is a dataframe?
- TypeScript : What is a union type?
Backend :
- What does the SQL HAVING clause do?
Database :
- What is a container image?
Other Tech :
- JS : Output of typeof null?
- SQL : Purpose of ORDER BY?
- Backend : What is an API?
Mixed Quiz :
Weekly Cross-Domain Activities ( December 05 to December 11, 2025 )
API of the Day:
Integrate OpenWeatherMap API
- Build /weather?city=
- Show temperature, humidity, conditions.
Linux / DevOps Tip :
10 commands to monitor server health :
top, htop, df -h, du -sh, ps aux, systemctl status, journalctl, iostat, free -m, uptime.
Real-World Project of the Week ( December 05 to December 11, 2025 )
Project of the Week:
Build a Full Authentication System (frontend + backend + JWT).
Collaborative Project :
Contribute to an open-source:
Awesome-Dev-Templates GitHub repo.
Case Study :
Study how Twitter handles real-time updates (WebSockets, queues, caching).
Previous Daily Coding Challenges & Projects : 04-04-2025 07-04-2025 08-04-2025 09-04-2025 10-04-2025 11-04-2025 14-04-2025 15-04-2025 16-04-2025 17-04-2025 18-04-2025 21-04-2025 22-04-2025 23-04-2025 24-04-2025 25-04-2025 28-04-2025 29-04-2025 30-04-2025 01-05-2025 02-05-2025 05-05-2025 06-05-2025 07-05-2025 08-05-2025 09-05-2025 12-05-2025 13-05-2025 14-05-2025 15-05-2025 16-05-2025 19-05-2025 20-05-2025 21-05-2025 22-05-2025 23-05-2025 26-05-2025 27-05-2025 29-05-2025 30-05-2025 02-06-2025 03-06-2025 04-06-2025 05-06-2025 06-06-2025 09-06-2025 10-06-2025 11-06-2025 12-06-2025 13-06-2025 16-06-2025 17-06-2025 18-06-2025 19-06-2025 20-06-2025 23-06-2025 24-06-2025 25-06-2025 26-06-2025 27-06-2025 30-06-2025 01-07-2025 02-07-2025 03-07-2025 04-07-2025 07-07-2025 08-07-2025 09-07-2025 10-07-2025 11-07-2025 14-07-2025 15-07-2025 16-07-2025 17-07-2025 18-07-2025 21-07-2025 22-07-2025 23-07-2025 24-07-2025 25-07-2025 28-07-2025 29-07-2025 05-08-2025 06-08-2025 07-08-2025 11-08-2025 12-08-2025 13-08-2025 14-08-2025 15-08-2025 18-08-2025 19-08-2025 20-08-2025 21-08-2025 22-08-2025 25-08-2025 26-08-2025 27-08-2025 28-08-2025 29-08-2025 15-09-2025 16-09-2025 17-09-2025 19-09-2025 11-10-2025 22-11-2025 24-11-2025 25-11-2025 26-11-2025 28-11-2025 01-12-2025 02-12-2025 03-12-2025 04-12-2025
