Track
A versatile and beginner-friendly language used for everything from web development to data science and automation. Master Python by building practical projects.
Start here
A command-line script that organizes files in a specified directory into subdirectories based on their file type (e.g., moving all .jpg and .png files into an 'Images' folder, .pdf into 'Documents', etc.). It's a practical tool for decluttering folders like your 'Downloads' directory.
Sign in to track progress
Basic
4 projectsA command-line script that organizes files in a specified directory into subdirectories based on their file type (e.g., moving all .jpg and .png files into an 'Images' folder, .pdf into 'Documents', etc.). It's a practical tool for decluttering folders like your 'Downloads' directory.
A command-line tool that takes a city name as input and displays the current weather conditions. This project involves making a request to a free public weather API (like OpenWeatherMap), parsing the JSON response, and presenting the information in a user-friendly format in the terminal.
Build a simple web application or a command-line tool that takes a long URL as input and generates a short, unique, and memorable alias. When the short URL is accessed, it should redirect the user to the original long URL. This project will introduce you to web frameworks and basic database interactions.
Create a contact book application that runs in the terminal. It should allow users to add, view, search, update, and delete contacts. Contact information (name, phone number, email) should be persistently stored in a file (e.g., CSV or JSON).
Intermediate
5 projectsCreate a fully functional personal blog web application. An admin user should be able to create, edit, and delete posts through a secure admin interface. Visitors can view a list of all posts, click to read individual posts, and see comments. This is a foundational project for full-stack web development.
Build a service that periodically checks the price of a specific stock using a financial data API (e.g., Alpha Vantage, Finnhub). If the price goes above or below a user-defined threshold, the service sends a notification via email or a messaging service like Twilio (for SMS).
Develop a web scraper that automatically collects job listings from a specific job board (like Indeed, LinkedIn, or a niche site). The scraper should extract details like job title, company, location, and a link to the job description, then save this data into a structured format like a CSV file or a database.
Build a desktop music player with a graphical user interface (GUI). The application should allow users to open audio files, create and manage playlists, and control playback (play, pause, stop, next, previous, volume control).
Create a script that automatically sends a personalized birthday email or message to your friends and family. The script reads birthday information from a data source (like a Google Sheet or a CSV file), checks daily if it's someone's birthday, and sends a pre-written message if it is.
Advanced
4 projectsDesign and build a backend RESTful API for a simple e-commerce platform. The API should manage products, user accounts, and orders. Secure the endpoints using token-based authentication (e.g., JWT) to ensure that only authenticated users can place orders or manage their data.
Create an automated data pipeline that extracts data from multiple sources (e.g., a public API, a web scraper, and a local CSV file), cleans and transforms the data using Pandas, and loads it into a unified database. Then, build a simple interactive web dashboard with a tool like Streamlit or Dash to visualize the cleaned data.
Develop a client-server chat application that allows multiple users to join a chat room and communicate in real-time. This project will dive deep into networking, concurrency, and client-server architecture.
Build a tool that compares two or more text documents and calculates a similarity score to detect potential plagiarism. This project is a great introduction to practical Natural Language Processing (NLP) techniques.
Expert
4 projectsDesign and build a content recommendation system with a microservices architecture. One service could manage user profiles and interaction history. Another service would run a machine learning model (e.g., collaborative filtering) to generate recommendations. An API gateway would route requests appropriately. This is a complex project that mimics real-world system design.
Develop a system that ingests a stream of data (e.g., server logs, IoT sensor readings, or simulated financial transactions) and uses machine learning to detect anomalies in real-time. The system should flag unusual patterns and trigger alerts. This project dives deep into data streaming, time-series analysis, and unsupervised learning.
Design, build, and deploy an algorithmic trading bot that connects to a financial exchange's API (e.g., a cryptocurrency exchange like Binance or a stock brokerage). The bot will execute trades automatically based on a predefined strategy derived from technical analysis indicators. Use a paper trading account to avoid financial risk.
Go beyond standard image classification and build a deep learning model to detect and locate specific objects within an image or video stream. For example, build a model to detect cars and pedestrians in road traffic footage, or a system to find specific products on a shelf.