Python projects for beginners

Learn to code by example

If you're learning Python, you might have asked "what should I build?" This site is for you. We walk you through 15+ projects using Python (and sometimes NodeJS). By the end, you'll not only have significantly improved your Python skills, but you'll also have some useful apps to use and put in your portfolio.

Prefer offline? You can download all of the tutorials in Code with in .epub, .mobi or .pdf formats, or access each tutorial directly below.

You can follow the whole set in order, or pick the ones that look the most interesting and dive right in.

Each project uses the online IDE and coding platform for all examples, so all you'll need to follow along is a free account there. Access the tutorials online or download the book on the right.

Part 1: Beginner Python projects and basics

Lesson 1: Introduction to

  • Learn the basics of the IDE. Why use an online IDE and what are all those different panes?

Start Lesson 1 →

Lesson 2: Working with files

  • Learn how to create files, read from them, write to them, and import and export them in bulk.
Start Lesson 2 →

Lesson 3: Managing dependencies

  • Here we show you how to work with other people’s code in a variety of ways: in many cases all you need to do is import antigravity and fly away.
Start Lesson 3 →

Lesson 4: Data science: plotting and graphing

  • Follow along to plot every city in the USA and find out if richer people live longer.

Start Lesson 4 →

Lesson 5: Pair programming and using multiplayer

  • You can invite your friends to code along with you, a technique used by beginners and experts alike.

Start Lesson 5 →

Part 2: Intermediate Python projects and advanced

Lesson 6: Running projects from GitHub

  • Some software needs to be configured in specific ways so you’ll also learn how to modify what happens when you press that big green “run” button.
Start Lesson 6 →

Lesson 7: Building a game with PyGame

  • We’ll build a 2D juggling game using PyGame in this lesson and you’ll learn more about graphics programming at the same time: sprites, physics, and more.
Start Lesson 7 →

Lesson 8: Keeping secrets safe

  • Have you been hacked? It’s only a matter of time if you haven’t. Learn how to keep your secrets safe, even when coding in public spaces.
Start Lesson 8 →

Lesson 9: Introduction to TDD using PyTest

  • By this stage you’ll have made a few mistakes. Learn the TDD way and how to write code that tests your other code to catch frustrating errors before they can hurt anyone.
Start Lesson 9 →

Lesson 10: Become an elite hacker with productivity hacks

  • Learn to look like a hacker by getting more than one cursor, using keyboard shortcuts, and all of the other productivity features that offers.
Start Lesson 10 →

Lesson 11: Keeping your data in check with database

  • Connect a databse and perform so-called "CRUD" (Create, Read, Update, Delete) operations that are fundamental to any database-backed software.
Start Lesson 11 →

Lesson 12: Repl Audio - Control (or create) music with code

  • Find, download, play, and control the volume of your music, all in code. If that's not enough, create your own music too.
Start Lesson 12 →

Part 3: Python Projects

Beginner web scraping with Python and

  • Learn more about what web scraping is, how websites are built, and how to automatically scrape data from websites.
Start Lesson 13 →

Building news word clouds using Python and

  • Build a more advanced scraper that extracts the plain text from news articles, stripping away the ‘boilerplate’ content.
Start Lesson 14 →

Building a Discord Bot with Python and

  • Build an echo bot using the Discord API. Your bot will always respond with exactly what you send it for now.
Start Lesson 15 →

Building a Discord bot with Node.js and

  • A NodeJS version of the Discord bot tutorial above. Even if you prefer Python, it’s good to go through this one too.
Start Lesson 16 →

Hosting a web app with Django and

  • Build a django web application and host it with You’ll use geolocation a weather API to show the local weather forecast.
Start Lesson 17 →

Build a CRM app with NodeJS,, and MongoDB

  • Another web application, but using NodeJS instead of Django. Build a basic app to manage customer information.
Start Lesson 18 →

Introduction to Machine Learning

  • Build a machine-learning based text classifier. We skip the maths but show how you can use machine learning libraries to implement useful solutions.
Start Lesson 19 →

Quicksort tutorial: Python implementation

  • Whether you’re applying for jobs or just like algorithms, it’s useful to understand how sorting works. Here you’ll create a sorter from scratch.
Start Lesson 20 →

Steganography: Hiding messages in images

  • Build a secret communication tool with Python using steganography. Hide your messages in normal looking images so no one would suspect secret communication.
Start Lesson 21 →

2D platform game with PyGame

  • Build a fun 2D platform game while learning all about Python game development. It's is easily expandible with endless possibilities so let your imagination run wild!
Start Lesson 22 →

Static site generator

  • Create a static site generator in python. It's simple and flexible allowing you to easily configure it afterwards to meet any particular custom needs.
Start Lesson 23 →

Snake with Pygame

  • Build the Snake game using Pygame. The implementation process leaves you with vital knowledge of Python programming principles you are likely to need in future projects.
Start Lesson 24 →

Personal Stock Market Dashboard

  • Build an app that allows the user to record stock purchases, track the current price of all stocks held through web scraping and also shows the user the percentage gain or loss on their holdings, for each stock and in total.
Start Lesson 25 →

Tic-tac-toe with WebSocket and Kaboom

  • Build the classic Tic-tac-toe game for online multiplayer mode. Create the game interface using Kaboom.js and use WebSocket to allow realtime gameplay over the internet.
Start Lesson 26 →

Build a team technical challenge website

  • Build a leaderboard website for online technical challenges using the replit.web framework.
Start Lesson 27 →

Build a paid content site

  • Create a paid content site using the replit.web framework and Stripe for checkout and payments. The site will also track a user's purchases allowing you to show them a library of their past orders.
Start Lesson 28 →