Log, categorize, and visualize personal expenses. Add budgets, monthly summaries, and a chart dashboard. Solid full-stack fundamentals — auth, data model, visual reporting.
Build a full-stack expense tracking app with user-specific data isolation
Design a PostgreSQL schema for financial transaction data
Integrate Recharts to render interactive pie charts, bar charts, and progress bars
Implement budget management with per-category limit tracking
Build your own blog — write, publish, and manage posts with a rich text editor, tag filtering, and a public-facing reader view. Full auth, full CRUD, full stack.
Implement authentication using NextAuth.js with session management
Design a MongoDB schema for a document-based content platform
Build a rich text editor with publish/draft functionality
Create a public reader view with tag filtering and pagination
Full-stack app to manage students, courses, and grades — complete CRUD, user roles, a dashboard with stats, and a clean UI. The classic full-stack portfolio project.
Build a complete full-stack app with authentication, CRUD, and relational data
Implement role-based access control (admin vs student)
Connect a React/Next.js frontend to a REST API backend securely
Build a data dashboard with aggregated stats from a relational database
Build a content-based recommendation system using TF-IDF and cosine similarity. Enter a movie, get 5 similar recommendations. Intuition-builder for how embeddings work
Understand TF-IDF vectorization and cosine similarity intuitively
Build a content-based recommendation engine from scratch
Implement a nearest-neighbour search using cosine similarity matrices
Connect recommendation logic to an interactive Streamlit UI\
Train a linear regression model to predict student exam scores from study hours, attendance, and test scores. Deploy it as a simple Streamlit app with a prediction form.
Build and train a linear regression model using scikit-learn
Encode categorical variables and prepare features for ML models
Evaluate regression models using RMSE and R² metrics
Save a trained model to disk and load it for inference
Take a real-world dataset, clean it, explore distributions, correlations, and outliers, and visualize everything in a Streamlit dashboard. The foundation of all data work
Load and clean a real-world dataset using pandas
Identify and handle missing values, duplicates, and outliers
Visualize distributions and correlations using matplotlib and seaborn
Build an interactive multi-chart Streamlit dashboard
Pick a topic (company policy, a book, a subject), load the content, and answer user questions about it using basic prompt stuffing. Your intuition-builder for why RAG exists.
Understand the prompt stuffing technique and how it works
Identify the practical limits of putting large documents into a prompt
Observe and document LLM hallucination behavior on out-of-scope questions
Write a prompt that instructs the model to cite its sources
Feed in a long article or paste any text and get a clean summary. Learn API calls, basic prompt construction, and how to handle long inputs by chunking.
Build prompt templates that produce structured, useful summaries
Solve the context window problem using text chunking
Implement map-reduce summarization for documents of any length
Give users control over output format and tone through prompt engineering
Build a chatbot using direct OpenAI API calls — maintain conversation history, handle multi-turn context, and display responses cleanly. Your very first LLM integration.
Make your first OpenAI API call and understand the request/response structure
Maintain multi-turn conversation context using the messages array
Build a Streamlit chat UI with session state and message history
Use system prompts to give an LLM a persona and behavioral constraints
Build a URL shortener — generate short codes, redirect to original URLs, track click analytics, and enforce rate limits per IP. Compact project, dense backend concepts.
Build a URL shortening service with unique code generation
Implement Redis caching to reduce database load on hot lookup paths
Track analytics data (click counts) without slowing down the critical path
Apply per-IP rate limiting using Redis counters and TTLs
Build a blog backend with JWT-based user authentication, post creation, tagging, and pagination. Learn auth patterns and API design that carry into every backend project.
Implement JWT-based authentication: registration, login, and token verification
Hash passwords securely using bcrypt
Protect routes with authentication middleware
Enforce ownership rules: users can only modify their own resources
Build a full REST API for managing students, courses, and enrollments — full CRUD, relational data, and clean endpoint design. The classic backend project, done properly.
Design relational database schemas with foreign keys and join tables
Build a complete REST API with all standard HTTP methods and status codes
Implement input validation and meaningful error responses
Test API endpoints systematically using Postman or Thunder Client
Every challenge includes detailed documentation, technical constraints, and automated evaluation scripts to ensure you have everything you need to succeed.