Learn to Build Real Software

Step-by-step tutorials for building complete, functional projects from scratch.

Available Tutorials

Task Manager
JavaScript

Build a Task Manager App

Create a fully functional task management application with drag-and-drop, local storage, and a modern UI.

Intermediate ~3 hours
Start Tutorial
Weather
JavaScript

Build a Weather Dashboard

Build a weather application that fetches live data from an API and displays forecasts with beautiful animations.

Beginner ~2 hours
Start Tutorial
E-commerce
React

Build an E-commerce Store

Create a full-featured online store with shopping cart, checkout flow, and payment integration.

Advanced ~8 hours
Start Tutorial
Chat App
Node.js

Build a Real-time Chat App

Build a websocket-powered chat application with rooms, private messaging, and real-time updates.

Intermediate ~4 hours
Start Tutorial
Blog CMS
Python

Build a Blog CMS

Create a content management system for blogs with markdown support, categories, and admin panel.

Intermediate ~5 hours
Start Tutorial
API
Node.js

Build a Restaurant Reservation API

Design and build a RESTful API for a restaurant booking system with authentication and validation.

Intermediate ~4 hours
Start Tutorial
URL Shortener
Node.js

Build a URL Shortener Web App

Create a complete URL shortener from scratch with Express, SQLite, and learn how redirects work.

Intermediate ~3 hours
Start Tutorial
Password Manager
Python

Build a Password Manager in Python

Create a secure password manager with encryption, master password protection, and a CLI interface.

Intermediate ~3 hours
Start Tutorial
REST API
Node.js

Build a REST API with Node.js

Learn API design with Express, MongoDB, JWT authentication, and best practices.

Intermediate ~4 hours
Start Tutorial
Web Scraper
Python

Build a Web Scraper in Python

Extract data from websites using Beautiful Soup, requests, and store results in CSV/JSON.

Beginner ~2 hours
Start Tutorial
Chat App
JavaScript

Build a Chat App with WebSockets

Create real-time messaging with Socket.io, chat rooms, and user presence indicators.

Intermediate ~3 hours
Start Tutorial
Markdown Editor
JavaScript

Build a Markdown Editor in JavaScript

Create a live preview Markdown editor with toolbar, auto-save, and export functionality.

Intermediate ~2 hours
Start Tutorial
Todo App
Node.js

Build a Todo App with Authentication

Create a fully functional todo application with user registration, JWT authentication, and CRUD operations.

Intermediate ~3 hours
Start Tutorial
File Upload
Node.js

Build a File Upload Server

Create a server for handling file uploads with progress tracking, validation, and secure storage.

Intermediate ~2 hours
Start Tutorial
Search Engine
Python

Build a Simple Search Engine

Build a search engine from scratch with inverted index, TF-IDF ranking, and Flask API.

Intermediate ~4 hours
Start Tutorial
Notifications
Node.js

Build a Real-Time Notification System

Create a notification system with WebSockets for real-time push notifications and user tracking.

Intermediate ~3 hours
Start Tutorial
REST API
Node.js

Build a REST API with Authentication and JWT

Create a production-ready REST API with JWT authentication, role-based access, and validation.

Intermediate ~4 hours
Start Tutorial
Rate Limiter
Node.js

Build a Rate Limiter for an API

Create a rate limiter with token bucket, sliding window algorithms, and Redis-based distributed limiting.

Intermediate ~3 hours
Start Tutorial
Web Crawler
Python

Build a Web Crawler from Scratch

Create a multi-threaded web crawler with link extraction, URL filtering, and robots.txt compliance.

Intermediate ~4 hours
Start Tutorial
CLI Tool
Python

Build Your Own Command Line Tool

Create a developer CLI utility with subcommands, interactive features, and packaging for distribution.

Intermediate ~3 hours
Start Tutorial
Database
Python

Build a Simple Database Engine

Create an embedded database with SQL-like queries, B-Tree indexing, and transaction support.

Advanced ~5 hours
Start Tutorial
Caching
Python

Build a Caching System

Create an in-memory cache with LRU/LFU/FIFO eviction policies, TTL support, and decorators.

Intermediate ~3 hours
Start Tutorial
Log Monitor
Python

Build a Log Monitoring System

Create a real-time log watcher with pattern matching, alerting, and a web dashboard.

Intermediate ~3 hours
Start Tutorial
Job Queue
Python

Build a Background Job Queue

Create a job queue with worker pools, scheduled jobs, retries, and Redis persistence.

Intermediate ~4 hours
Start Tutorial
Distributed Cache
Python

Build a Distributed Cache

Create a distributed caching system with consistent hashing, data replication, and cluster management.

Advanced ~5 hours
Start Tutorial
Message Queue
Python

Build a Message Queue

Create a message queue system with persistent storage, pub/sub messaging, and clustering support.

Advanced ~5 hours
Start Tutorial
Authentication
Node.js

Build a Web Authentication System

Create a complete auth system with JWT, OAuth, sessions, password hashing, and security features.

Intermediate ~4 hours
Start Tutorial
Proxy
Node.js

Build a Reverse Proxy Server

Create a reverse proxy with load balancing, response caching, and health checking.

Advanced ~4 hours
Start Tutorial
API Gateway
Node.js

Build an API Gateway

Create an API gateway with routing, authentication, rate limiting, and request transformation.

Advanced ~4 hours
Start Tutorial
Search
Python

Build a Search Index

Create a search index with inverted indexing, tokenization, TF-IDF ranking, and boolean queries.

Intermediate ~4 hours
Start Tutorial
Interpreter
Python

Build a Programming Language Interpreter

Create an interpreter from scratch with lexer, parser, AST, evaluator, and a REPL.

Advanced ~6 hours
Start Tutorial
Compiler
Python

Build a Simple Compiler

Build a compiler that transforms code to bytecode and a virtual machine to execute it.

Advanced ~6 hours
Start Tutorial
Task Queue
Python

Build a Distributed Task Queue

Create a distributed task queue with workers, message broker, retries, and scheduling.

Advanced ~6 hours
Start Tutorial
Load Balancer
Node.js

Build a Load Balancer

Create a reverse proxy with multiple algorithms, health checks, and failover support.

Advanced ~5 hours
Start Tutorial
Session
Node.js

Build a Session Management System

Create a complete session system with stores, cookies, security, and distributed support.

Intermediate ~4 hours
Start Tutorial
Chat Server
Node.js

Build a WebSocket Chat Server

Create a real-time chat server with rooms, private messaging, and presence tracking.

Intermediate ~4 hours
Start Tutorial
Router
Python

Build a URL Router

Create a URL router with pattern matching, parameters, middleware, and route grouping.

Intermediate ~4 hours
Start Tutorial
Template
Python

Build a Template Engine

Create a template engine with variables, conditionals, loops, filters, and inheritance.

Intermediate ~4 hours
Start Tutorial
Static Site
Python

Build a Static Site Generator

Create a static site generator with Markdown support, front matter, and templates.

Intermediate ~4 hours
Start Tutorial
Config
Python

Build a Configuration Management System

Create a config system with multi-format support, validation, and hot reload.

Intermediate ~3 hours
Start Tutorial
Scheduler
Python

Build a Task Scheduler

Create a task scheduler with triggers, job management, and persistence.

Intermediate ~4 hours
Start Tutorial
Indexing
Python

Build a File Indexing System

Create a file indexer with full-text search, tokenization, and file watching.

Intermediate ~4 hours
Start Tutorial
VCS
Python

Build a Simple Version Control System

Create a version control system with commits, objects, and repository management.

Advanced ~5 hours
Start Tutorial
Metrics
Python

Build a Metrics Collection System

Create a metrics system with counters, gauges, histograms, and export capabilities.

Intermediate ~4 hours
Start Tutorial
Logger
Python

Build a Distributed Logger

Create a logging system with handlers, formatters, and network transmission.

Advanced ~5 hours
Start Tutorial
Config
Python

Build a Configuration Parser

Create a config parser with INI format, type coercion, and interpolation.

Intermediate ~3 hours
Start Tutorial
Discovery
Python

Build a Service Discovery System

Create a service discovery system with registry, health checks, and load balancing.

Advanced ~4 hours
Start Tutorial
Retry
Python

Build a Job Retry System

Create a retry system with backoff strategies and circuit breaker pattern.

Intermediate ~3 hours
Start Tutorial
Feature Flags
Python

Build a Feature Flag System

Create a feature flag system with targeting rules, rollouts, and evaluation.

Intermediate ~3 hours
Start Tutorial
Auth
Node.js

Build a Token-Based Authentication System

Create an authentication system with access and refresh tokens.

Intermediate ~3 hours
Start Tutorial
Rate Limit
Node.js

Build a Rate Limiting Middleware

Create rate limiting with token bucket, sliding windows, and Redis storage.

Intermediate ~3 hours
Start Tutorial
Lock
Python

Build a Distributed Lock System

Create distributed locks with Redis and automatic expiration.

Advanced ~3 hours
Start Tutorial
Monitoring
Python

Build a Service Health Monitoring Tool

Create a health monitoring system with checks and alerting.

Intermediate ~3 hours
Start Tutorial
Pipeline
Python

Build a Data Pipeline

Create a data pipeline framework with transformations and parallel execution.

Intermediate ~4 hours
Start Tutorial

About This Site

Project Tutorials is a collection of hands-on tutorials designed to help you learn programming by building real-world applications. Each tutorial includes complete source code, step-by-step instructions, and explanations of key concepts.