← All posts

51 Python Projects for Beginners That Aren't Boring

Most beginner project lists stop right where the project gets interesting. You build the calculator, it works, and then what?

These 51 Python projects for beginners each come with one way to push past the basic version. That second pass is where most of the learning happens. The list starts with core syntax and moves into pandas, APIs, and small applications.

Every project also lists the skills it exercises, so you can pick by what you want to practice. They all assume Python 3, and any release still receiving security updates will run them. If you're installing fresh, take the latest version from python.org. If you'd rather get the fundamentals down first, our Python skill path covers them.

Table of Contents

Beginner Python Projects

Start here if you've learned some syntax and want to put it to work.

Assumes basic familiarity with Python syntax: variables, loops, and functions. Most projects can be completed in a few hours.

1. Building an Interactive Word Game

Building an Interactive Word Game project illustration

Build a fully functional word-guessing game using core Python concepts. It's the rare beginner project that exercises almost everything at once, which is why we keep recommending it as a first build.

Skills you'll practice: loops · conditionals · file I/O · random module · user input · functions

Take it further: Add difficulty levels that change the word length, and a scoring system that rewards fewer guesses.

Where to start: Work through Dataquest's word game guided project

2. Analyzing Profitable App Profiles

Analyzing Profitable App Profiles project illustration

This project casts you as a data analyst for a company that builds mobile apps. You'll use Python to analyze real app market data to find app profiles that attract the most users, all in base Python with no pandas required.

Skills you'll practice: CSV handling · lists · dictionaries · frequency tables · data cleaning

Take it further: Write a one-page recommendation for which app to build, with the numbers that support it. Explaining an analysis is harder than running it.

Where to start: Work through Dataquest's app profiles guided project

3. Exploring Hacker News Posts

Exploring Hacker News Posts project illustration

This project uses Python string manipulation and date handling to analyze trends driving post popularity on Hacker News, a popular technology site.

Skills you'll practice: string manipulation · datetime · dictionaries · sorting · CSV handling

Take it further: Pull fresh posts from the Hacker News API and check whether the patterns still hold.

Where to start: Work through Dataquest's Hacker News guided project

4. Exploring eBay Car Sales Data

Exploring eBay Car Sales Data project illustration

Use Python to work with a scraped dataset of used cars from Kleinanzeigen, the German classifieds site that was called eBay Kleinanzeigen when this dataset was scraped. The data is genuinely messy, which is the point of the project.

Skills you'll practice: pandas · Boolean indexing · data cleaning · Series methods · outlier handling · groupby

Take it further: Plot price against mileage by brand and see which brands hold value best.

Where to start: Work through Dataquest's car sales guided project

5. Building a Text-Based Garden Simulator

Building a Text-Based Garden Simulator project illustration

Build an interactive game where players plant, tend, and harvest virtual crops. The project puts object-oriented programming, error handling, and randomness to work to bring the world to life.

Skills you'll practice: classes · object-oriented programming · error handling · random module · game loops

Take it further: Save the garden state to a JSON file so a player can come back to it tomorrow.

Where to start: Work through Dataquest's garden simulator guided project

6. Building a Food Ordering App

Building a Food Ordering App project illustration

This project has you create a functional application using Python dictionaries, loops, and functions to build an interactive system for viewing menus, modifying carts, and placing orders.

Skills you'll practice: dictionaries · loops · functions · user input · control flow

Take it further: Add discount codes and a running order total that updates as items go in and out of the cart.

Where to start: Work through Dataquest's food ordering guided project

7. Analyze Your Personal Netflix Data

Analyze Your Personal Netflix Data project illustration

A beginner-to-intermediate project that gets you working with your own personal dataset. Be warned that the numbers can be a little confronting. Netflix can take up to 30 days to prepare your data export, so request it early or start with the sample file the tutorial provides.

Skills you'll practice: pandas · datetime and timedelta · timezone conversion · filtering · value_counts · matplotlib

Take it further: Compare your viewing by weekday and hour to find out when you actually watch.

Where to start: Follow Dataquest's Netflix data tutorial

8. Analyze Survey Data

Analyze Survey Data project illustration

This project shows you how to set up Python and filter survey data from any dataset (or just use the sample data linked in the article).

Skills you'll practice: Python setup · pandas · filtering · multi-answer questions · value_counts

Take it further: Cross-tabulate two questions against each other and see whether the answers move together.

Where to start: Follow Dataquest's survey data tutorial

9. Rock, Paper, Scissors

Rock, Paper, Scissors project illustration

Learn Python with a simple-but-fun game that everybody knows. You can finish a working version of this project in an evening.

Skills you'll practice: conditionals · random module · while loops · user input · functions · Enum

Take it further: Make it best-of-five, track the score across rounds, and let the computer notice patterns in your choices.

Where to start: Follow Real Python's rock paper scissors tutorial

10. Build a Text Adventure Game

Build a Text Adventure Game project illustration

A workshop lesson plan that uses a text adventure as the vehicle for a full tour of Python basics, from strings and lists through dictionaries and loops. It opens with a uv and VS Code setup, so there's some installing to do before you write any game code. The same project turns up in Learn Python the Hard Way, now a paid course.

Skills you'll practice: functions · conditionals · lists · dictionaries · for and while loops · f-strings

Take it further: Add an inventory the player carries between rooms, and a door that only opens if they're holding the key.

Where to start: Open the Coding Grace text adventure lesson plan

11. Password Generator

Password Generator project illustration

Build a random 8-character password in Python. The linked challenge keeps its full solution behind a paid membership, so treat the project as a spec to code against rather than a walkthrough. Once the basic version works, switch from the random module to the secrets module and push the length well past 8 characters.

Skills you'll practice: random module · ASCII codes · ord() and chr() · loops · string concatenation

Take it further: Generate memorable passphrases from a word list instead of character soup, then compare how long each style takes to crack.

Where to start: Open the 101 Computing password challenge

12. Fun Fact Generator

Fun Fact Generator project illustration

Create a small browser-based app that fetches and displays a random fun fact from a public API every time you click a button. A quick project that gets you comfortable making HTTP requests.

Skills you'll practice: PyWebIO · requests · REST APIs · JSON parsing · event handling

Take it further: Cache the facts you've already seen to a local file so the app still works with the wifi off.

Where to start: Watch the fun fact generator video

13. Morse Code Translator

Morse Code Translator project illustration

Build a tool that converts plain text into Morse code and back using a dictionary lookup. A short project that teaches string iteration and dictionary lookups in a memorable way.

Skills you'll practice: dictionaries · string iteration · string methods · reverse lookups

Take it further: Play the output as actual beeps with a sound library. Hearing it work is more satisfying than reading it.

Where to start: Watch the Morse code translator video

14. Building a Calculator App

Building a Calculator App project illustration

Build a simple command-line calculator that asks users for two numbers and an operation, then prints the result. This easy project helps you practice functions, user input, conditionals, and basic arithmetic.

Skills you'll practice: functions · conditionals · user input · type conversion · return values

Take it further: Handle division by zero gracefully, then keep a history of past calculations the user can scroll back through.

Where to start: Read the calculator app walkthrough on DEV

15. Building a To-Do List App

Building a To-Do List App project illustration

Build a simple console-based to-do list where users can add, view, and remove tasks from a menu. This beginner project helps you practice lists, loops, conditionals, user input, and basic error handling.

Skills you'll practice: lists · loops · menu design · input validation · error handling

Take it further: Save tasks to a JSON file so they survive a restart, then add due dates and sort by them.

Where to start: Read the to-do list walkthrough on DEV

16. Automating File Organization

Automating File Organization project illustration

Use Python to automatically sort files into folders based on their file extension. Point the finished project at your downloads folder and the payoff is immediate.

Skills you'll practice: os module · shutil · dictionaries · file operations

Take it further: Add a dry-run mode that prints what it would move before it moves anything. You'll want this the first time you run it somewhere real.

Where to start: Read the file organization walkthrough on DEV

17. File Search Tool

File Search Tool project illustration

Create a tool that searches your computer for files based on name or type. The project has you working with directories and file traversal.

Skills you'll practice: os module · glob · filtering · user input

Take it further: Search inside the files rather than just their names, and skip binaries so you don't drown in noise.

Where to start: Read the file search tool walkthrough

18. Countdown Timer

Countdown Timer project illustration

Use Python's time module to build a timer that counts down from a user-specified number of seconds. A good first project for getting comfortable with for loops and basic time manipulation.

Skills you'll practice: time module · for loops · output formatting · user input

Take it further: Add a text progress bar, and a desktop notification when the timer hits zero.

Where to start: Watch the countdown timer video

19. Web Scraping Basics with BeautifulSoup

Web Scraping Basics with BeautifulSoup project illustration

Use BeautifulSoup and requests to scrape job listings from a practice site built for scraping. A great first project for pulling real data from the web.

Skills you'll practice: requests · BeautifulSoup · HTML parsing · find_all() · link extraction

Take it further: Save the listings to a CSV, then point the scraper at a real site you care about and follow its pagination to page two and beyond.

Where to start: Follow Real Python's BeautifulSoup scraping tutorial

20. Currency Converter

Currency Converter project illustration

Build a Tkinter app that takes an amount and two currency codes and converts between them using a free exchange rate API. A low-pressure project for your first taste of APIs and JSON data.

Skills you'll practice: requests · JSON · APIs · error handling · number formatting · Tkinter

Take it further: Cache the day's rates locally so you're not hammering the API, and fall back to the cached rates when the request fails.

Where to start: Watch the currency converter video

21. Trivia Quiz Game

Trivia Quiz Game project illustration

Build a multiple-choice quiz that asks the user a series of questions, checks their answers, and displays a score at the end. The project exercises tuples, conditionals, and input/output flow all at once.

Skills you'll practice: tuples · lists · loops · conditionals · scoring logic

Take it further: Pull live questions from the Open Trivia Database API instead of hardcoding them, and let the player pick a category.

Where to start: Watch the trivia quiz video

22. Banking Program

Banking Program project illustration

Simulate a basic bank account with deposits, withdrawals, and balance checks. A useful project for learning functions, and the linked tutorial walks you through the whole thing.

Skills you'll practice: functions · conditionals · state management · input validation · number formatting

Take it further: Support multiple accounts in a dictionary and keep a transaction history the user can print.

Where to start: Watch the banking program video

23. QR Code Generator

QR Code Generator project illustration

A small project that solves a real problem in 30 to 90 minutes, which is hard to beat for building confidence quickly.

Skills you'll practice: Segno · Pillow · file I/O · animated GIFs

Take it further: Generate a batch of codes from a CSV of URLs, and drop a logo in the middle of each one.

Where to start: Follow Real Python's QR code tutorial

Intermediate Python Projects

Once the fundamentals feel comfortable, the next step is mostly about scale. Bigger datasets, more moving parts, and applications with more than one job to do. A few of these, like Tetris and the Django builds, are multi-day projects rather than afternoon ones.

Assumes comfort with Python fundamentals and some experience with libraries like pandas or requests.

24. Predicting Heart Disease

Predicting Heart Disease project illustration

Use a UCI heart disease dataset to build a model that predicts patient risk. A more interesting first modeling project than the usual toy datasets.

Skills you'll practice: pandas · scikit-learn · k-nearest neighbors · train/test splits · precision and recall

Take it further: Run logistic regression on the same data and explain which model you'd trust and why.

Where to start: Work through Dataquest's heart disease guided project

25. Analyzing Accuracy in Data Presentation

Analyzing Accuracy in Data Presentation project illustration

This project puts you in the role of a data journalist analyzing movie ratings data and determine if there's evidence of bias in Fandango's rating system.

Skills you'll practice: pandas · sampling · distributions · matplotlib · statistical reasoning

Take it further: Pull a current ratings dataset and check whether the pattern still shows up years later.

Where to start: Work through Dataquest's Fandango ratings guided project

26. Finding Heavy Traffic Indicators on I-94

Finding Heavy Traffic Indicators on I-94 project illustration

This project uses pandas' plotting functionality alongside Jupyter Notebook to quickly visualize data and identify what drives heavy traffic on I-94.

Skills you'll practice: pandas · matplotlib · time series · groupby · exploratory analysis

Take it further: Bring in the weather columns and test whether bad weather or rush hour is the stronger predictor.

Where to start: Work through Dataquest's I-94 traffic guided project

27. Clean and Analyze Employee Exit Surveys

Clean and Analyze Employee Exit Surveys project illustration

Work with exit surveys from employees of two Queensland, Australia institutions: the Department of Education, Training and Employment and a Technical and Further Education institute. The project casts you as a data analyst uncovering why employees resign.

Skills you'll practice: pandas · data cleaning · merging dataframes · missing values · categorical data

Take it further: Chart resignation reasons by length of service and see whether new hires leave for different reasons than veterans.

Where to start: Work through Dataquest's exit surveys guided project

28. Credit Card Customer Segmentation

Credit Card Customer Segmentation project illustration

This project casts you as a data scientist at a credit card company to segment customers into groups using K-means clustering in Python, allowing the company to tailor strategies for each segment.

Skills you'll practice: K-means · scikit-learn · feature scaling · PCA · cluster interpretation

Take it further: Try hierarchical clustering on the same customers and see whether the segments hold up, then give each one a name a marketing team would understand.

Where to start: Work through Dataquest's customer segmentation guided project

29. Developing a Dynamic AI Chatbot

Developing a Dynamic AI Chatbot project illustration

This project builds your own AI-powered chatbot that can take on different personalities, track conversation history, and provide coherent responses.

Skills you'll practice: LLM APIs · prompt design · conversation state · error handling

Take it further: Let it search a folder of your own notes before answering, so it can cite what you've actually written.

Where to start: Work through Dataquest's AI chatbot guided project

30. Hangman

Hangman project illustration

A childhood classic that makes for a satisfying intermediate project.

Skills you'll practice: strings · sets · game loops · state tracking · ASCII art output

Take it further: Add word categories and a difficulty setting that changes how many wrong guesses you get.

Where to start: Follow Real Python's hangman tutorial

31. Snake

Snake project illustration

More involved than most intermediate projects, but a classic (and surprisingly fun) game to build and play.

Skills you'll practice: Pygame · game loops · collision detection · event handling · coordinate math

Take it further: Speed the snake up as the score climbs, and save a high score table between sessions.

Where to start: Read the Edureka Snake walkthrough

32. Tic-Tac-Toe

Tic-Tac-Toe project illustration

Build the classic two-player game in a Tkinter window, with clickable tiles and win and tie detection. One of the best projects for practicing lists, loops, nested conditionals, and basic game logic all at once.

Skills you'll practice: nested lists · loops · win detection · conditionals · Tkinter

Take it further: Write a minimax opponent that never loses. It's a bigger jump than it looks, and it's worth it.

Where to start: Watch the tic-tac-toe video

33. Tetris

Tetris project illustration

Recreate the iconic falling-block puzzle game using Python and the Pygame library. More involved than most intermediate projects, and the linked video is a condensed build, so keep its GitHub code open alongside it.

Skills you'll practice: Pygame · 2D arrays · rotation logic · collision detection · frame timing

Take it further: Add a next-piece preview and a hold slot, which is where the rotation logic really gets tested.

Where to start: Watch the Tetris video

34. Creating a Portfolio Backend with Django

Creating a Portfolio Backend with Django project illustration

Build the backend for a personal portfolio website using Python. The project covers serving content, handling requests, and structuring a web application.

Skills you'll practice: Django · models · views · templates · URL routing

Take it further: Deploy it somewhere public. Getting a Django app onto a real host teaches you as much as building it did.

Where to start: Follow Real Python's Django portfolio tutorial

35. Use Python to Build a Discord Bot

Use Python to Build a Discord Bot project illustration

More advanced than most intermediate projects, but a practical way to learn how Python interacts with real users and messages. You'll work with APIs, event-driven programming, and authentication.

Skills you'll practice: discord.py · async/await · event handlers · API tokens · command parsing

Take it further: Add slash commands and store per-server settings in a small database.

Where to start: Start the Codédex Discord bot project

36. Building a Notes App

Building a Notes App project illustration

Build a web-based notes app with Django where users can create and manage notes. This project introduces models, views, authentication, and basic web app structure.

Skills you'll practice: Django · models · user authentication · forms · create/read/update/delete operations

Take it further: Add tags and a search box. Search is where most note apps either earn their keep or fall over.

Where to start: Follow the GeeksforGeeks notes app tutorial

37. Building a Text Editor

Building a Text Editor project illustration

Create a simple text editor with open, edit, and save functionality. The project shows how UI components and file operations fit together.

Skills you'll practice: Tkinter · file dialogs · file I/O · widget layout · menus

Take it further: Add find and replace, then basic syntax highlighting for one language.

Where to start: Follow the PythonGeeks text editor tutorial

38. Analyze Your Personal Facebook Data with Python

Analyze Your Personal Facebook Data with Python project illustration

Find out how often you actually post on Facebook, and whether you post more or less than you used to. A beginner-to-intermediate project working with your own exported data.

Skills you'll practice: pandas · JSON parsing · datetime · aggregation · visualization

Take it further: Chart your activity year over year and see when the habit peaked.

Where to start: Follow Dataquest's Facebook data tutorial

39. Sending Automated Emails

Sending Automated Emails project illustration

Build a Python script that sends emails automatically using SMTP. The project is your first taste of talking to an external service from your own code. Note that email providers like Gmail require app passwords or OAuth setup, which the Real Python tutorial covers.

Skills you'll practice: smtplib · email module · app passwords and OAuth · templating

Take it further: Send an HTML email with a chart attached, then schedule it to run every Monday morning.

Where to start: Follow Real Python's email sending tutorial

40. Building a Weather App with an API

Building a Weather App with an API project illustration

Use Python to fetch real-time weather data from an API and display it in a simple app. The project practices sending requests, handling JSON responses, and working with external data.

Skills you'll practice: urllib · JSON · CLI design · error handling · API keys

Take it further: Show a five-day forecast and cache responses so repeated runs don't burn through your API quota.

Where to start: Follow Real Python's weather app tutorial

41. Automating File Backups

Automating File Backups project illustration

Create a script that automatically backs up important files and folders. The interesting part of the project is making it reliable enough that you'd trust it with files you care about.

Skills you'll practice: shutil · os module · scheduling · logging · error handling

Take it further: Back up only what changed since last time, and verify each copy with a checksum.

Where to start: Read the file backup walkthrough on Medium

42. Blackjack Game

Blackjack Game project illustration

Build a fully playable card game with a dealer, hand evaluation, and a simple Pygame UI. The project will test your grasp of OOP and edge cases.

Skills you'll practice: object-oriented programming · classes · list handling · game logic · edge cases

Take it further: Handle splitting and doubling down. The ace counting as one or eleven is the bug everyone hits first.

Where to start: Read the blackjack walkthrough on Medium

43. OCR: Extract Text from Images

OCR: Extract Text from Images project illustration

Use Pillow and Tesseract to pull text out of images automatically. A computer vision project that needs no model training.

Skills you'll practice: Pillow · pytesseract · image preprocessing · file handling

Take it further: Run a folder of receipts through it and write the totals to a CSV. Preprocessing is what makes or breaks the accuracy.

Where to start: Follow the Tesseract OCR tutorial

44. Streamlit ML Web App

Streamlit ML Web App project illustration

Turn a machine learning model into an interactive web app where users can tweak settings and see results in real time. The project needs no front-end experience.

Skills you'll practice: Streamlit · scikit-learn · classification models · evaluation metrics · interactive visualization

Take it further: Deploy it to Streamlit Community Cloud so you have a live link to share.

Where to start: Start the Coursera Streamlit guided project

45. Morning Briefing Bot

Morning Briefing Bot project illustration

This project builds a scheduled weather alert that fetches forecast data from an API and sends it by email.

Skills you'll practice: requests · APIs · smtplib · scheduling · email.mime

Take it further: Add your calendar and a couple of news headlines so it becomes something you'd actually read.

Where to start: Read the morning briefing walkthrough on Medium

46. Astronomy Picture of the Day Wallpaper Setter

Astronomy Picture of the Day Wallpaper Setter project illustration

This project fetches NASA's free daily astronomy image and sets it as your desktop wallpaper automatically. Only compatible with Windows. Grab a free API key from api.nasa.gov before you start, since the bundled demo key is capped at 30 requests per hour.

Skills you'll practice: requests · NASA API · file downloads · Windows system calls · Tkinter

Take it further: Port it to macOS or Linux, and keep an archive of past images with their captions.

Where to start: Browse the wallpaper setter project on GitHub

47. Auto-Flashcard Generator

Auto-Flashcard Generator project illustration

In this project, load a PDF of lecture notes, have Gemini turn it into multiple-choice questions, and quiz yourself in a Tkinter app that tracks your score.

Skills you'll practice: LLM APIs · prompt design · PDF text extraction · Tkinter · score tracking

Take it further: Export the questions to an Anki-compatible file, then add spaced repetition so the cards you keep missing come back sooner.

Where to start: Watch the flashcard generator video

48. Automating Screenshot Capture

Automating Screenshot Capture project illustration

Create a script that takes a screenshot whenever you press a hotkey. A short project that opens the door to OS-level automation and multithreading.

Skills you'll practice: Pillow · pynput · threading · file naming

Take it further: Add an interval mode that captures every few minutes, then stitch the captures into a timelapse of your working day.

Where to start: Read the screenshot automation walkthrough on Medium

49. Lecture and Meeting Transcriber

Lecture and Meeting Transcriber project illustration

This project sends an audio file to a speech-to-text API and returns a clean, searchable transcript.

Skills you'll practice: speech-to-text APIs · audio file handling · chunking long files · text output

Take it further: Pass the transcript to an LLM for a summary and action items, then save both alongside the audio.

Where to start: Follow The Python Code's speech-to-text tutorial

50. Movie Recommendation Engine

Movie Recommendation Engine project illustration

This project builds a movie recommendation engine from ratings data using pandas and correlation, then returns movies similar to a selected title.

Skills you'll practice: pandas · pivot tables · correlation · merging dataframes · similarity scoring

Take it further: Swap correlation for cosine similarity on the same ratings matrix and compare which version gives better picks.

Where to start: Follow the GeeksforGeeks recommender tutorial

51. Expense Tracker with SQLite

Expense Tracker with SQLite project illustration

Build a simple app to log income and expenses to a local database. You'll actually want to use this one, though it's a bit harder than most beginner projects.

Skills you'll practice: sqlite3 · SQL basics · aggregation queries · Streamlit · data persistence

Take it further: Add a way to edit past entries and a monthly budget that flags any category running over.

Where to start: Read the expense tracker walkthrough on DEV

Next Steps

The best Python project is the one you finish. Here's how to pick one without overthinking it.

Want a data or analytics job? Start with Exploring eBay Car Sales Data or Finding Heavy Traffic Indicators on I-94. Both are pandas-first, involve real messy data, and produce the kind of portfolio piece a hiring manager recognizes. After one of those, add SQL and build a second project that combines the two.

Want to automate something at work? Start with Automating File Organization or Sending Automated Emails. Both are completable in an afternoon and immediately useful, which means you'll actually finish them. Once you've shipped one automation, the jump to scraping or scheduling tasks feels small.

Interested in machine learning? Don't start with a neural network. Start with Predicting Heart Disease. It's a clean dataset, a clear problem, and it teaches the scikit-learn workflow you'll use for every model you build after. Add PyTorch once scikit-learn feels comfortable.

Want to build something people can actually use? Start with Building a Weather App with an API or Streamlit ML Web App. Both produce something you can show someone who isn't a developer, which matters more than it sounds when you're trying to stay motivated.

Still not sure? Build the Interactive Word Game. It covers loops, functions, conditionals, and user input, the four things that show up in every other project on this list. Finish it, put it on GitHub, and you'll know what you want to build next.

Mike Levy

Written by

Mike Levy

Mike is a life-long learner who is passionate about mathematics, coding, and teaching. When he's not sitting at the keyboard, he can be found in his garden or at a natural hot spring.

Join 1M+ data learners on Dataquest.

  1. 1

    Create a free account

  2. 2

    Choose a learning path

  3. 3

    Complete exercises and projects

  4. 4

    Advance your career