Daily Coding Challenges & Projects
Weekend
Frontend Mini Project Challenge
Theme : Mini Frontend Projects
Mini Project :
Create a Fully Accessible Dark Mode Toggle + Save Preference in LocalStorage
Requirements :
- Toggle button switches between Light & Dark mode
- Use CSS variables (--bg, --text)
- Use JavaScript to save user preference
- Smooth transition (CSS transition)
- Works even after page refresh
Bonus :
Add a “System Theme” option using prefers-color-scheme.
Small Daily Frontend Challenge
Although weekend focuses on mini-projects, here are micro-challenges too:
Challenge 1 (JS) :
Challenge 2 (CSS Animation) :
Challenge 3 (React):
Challenge 4 (Vue):
Backend Challenge
Focus : Scala, R, Swift, TypeScript
Scala Challenge :
Build a function that computes the moving average of a list using tail recursion.
R Challenge :
Write an R script that:
Swift ( Server-side / Vapor ) :
Create a Vapor route:
GET /users/:id/orders
Returns all orders for a user.
(Design the model + sample JSON response.)
TypeScript ( Node.js + TS ) :
Create a typed Express middleware that validates request headers:
Database Query Challenge
Problems on SQL - HR Database :
- Write a query to list employees whose salary is above the department average salary.
- Write a query to find departments where no employees were hired in the last 12 months.
Data Structures & Algorithms Challenge
- Easy:
- Problem : Return the second smallest element in an unsorted array.
- Hint :You don’t need to sort the array. Use two tracking variables.
- Medium :
- Problem : Implement a function to rotate a linked list to the right by k positions.
- Hint :Think of temporarily making the list circular.
- Hard :
- Problem : Given an array, find the maximum sum increasing subsequence.
- Hint : Use DP → dp[i] = arr[i] + best increasing sum ending before i.
Bug of the Day
Focus : Scala, R, Swift, TypeScript
Buggy Code ( Scala ) :
val numbers = List(1, 2, 3)
println(numbers.map(x => x * 2).foreach(println))
Challenge : Find & fix the issue.
Buggy Code ( R ) :
df <- data.frame(a = c(1,2,3), b = c(4,5,6))
print(mean(df))
Challenge : Find & fix the issue.
Buggy Code ( Swift ) :
let name: String? = "John"
print(name.uppercased())
Challenge : Find & fix the issue.
Buggy Code ( TypeScript ) :
function add(a: number, b: number): number {
return a + b || 0;
}
Challenge : Find & fix the issue.
📋 Daily Micro-Project
Focus : Backend
Task :
Build a Task Manager API with endpoints:
- POST /tasks (create)
- GET /tasks (list)
- PUT /tasks/:id (update)
- DELETE /tasks/:id (remove)
Use any weekend language: Scala, R (Plumber API), Swift (Vapor), TypeScript.
Trivia: 5 Fun Facts
- The first computer “bug” was an actual moth stuck in a relay (1947).
- Python was named after “Monty Python,” not the snake.
- Java was almost named Oak.
- Linux was originally called Freax by Linus Torvalds.
- Git was created by Linus Torvalds in just 10 days.
Tool & Resource of the Day
Tool : Postman Mock Server
Great for frontend–backend integration without building actual APIs.
Resource Roundup ( API Testing Special ) :
- MDN Web Docs
- FreeCodeCamp Certifications
- TypeScript Handbook
- Scala Documentation
- Swift.org Tutorials
Interview Question of the Day
Daily Interview Questions
-
Frontend :
- What are the pros/cons of using CSS variables?
- What is the Shadow DOM and why is it useful?
- How does Vue’s reactivity system track changes?
- Explain how React batching works.
-
Backend :
- Explain the event loop in Node.js.Explain the event loop in Node.js.
- What is tail recursion in Scala?
- How does Swift handle memory (ARC)?
- What is immutability and why is it important?
- What is a materialized view?
- How does partitioning improve performance?
- What are surrogate keys vs natural keys?
- What is a load balancer and why is it used?
- What is CI/CD?
Daily Quiz Challenge
- Which CSS property controls animation speed?
- What does ref mean in Vue?
- What is React’s useMemo used for?
Frontend CSS ) :
- What is a sealed class in Scala?
- What is TypeScript’s never type?
- What is an actor in concurrent systems?
Backend ( Java / Kotlin ) :
- Which SQL clause removes duplicates?
- What command lists running processes in Linux?
- (Frontend) What does display: contents do?
- (Backend) What is a deadlock?
- (Database) What is ACID?
Database :
Other :
Mixed Quiz :
Weekly Cross-Domain Activities ( November 28 to December 04, 2025 )
API of the Day:
Use the Currency Exchange API to convert an amount between currencies.
Linux / DevOps Tip :
Run server health check :
top htop df -h du -sh * free -m uptime journalctl -xe systemctl status <service>
Real-World Project of the Week ( November 28 to December 04, 2025 )
Project of the Week:
Build a URL shortener app ( frontend + backend + database ).
Collaborative Project :
Join an open-source project:
“Awesome-DSA-Practice”
(Create algorithms + solutions in multiple languages.)
Case Study :
Analyze how Spotify recommendation engine works.
Users replicate the feature using:
- Cosine similarity
- TF-IDF
- Collaborative filtering
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
