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.
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 Replit for all examples, so all you'll need to follow along is a free account there. Access the tutorials online or download the full book.

Part 1

Beginner Python projects and Replit basics

...

Lesson 1

Introduction to Replit

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

Python
...

Lesson 2

Working with files

Learn how to create files, read from them, write to them, and import and export them in bulk.

Python
...

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.

Python
...

Lesson 4

Data science: plotting and graphing

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

Python
...

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.

Python

Part 2

Intermediate Python projects and advanced Replit

...

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.

Python
...

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.

Python
...

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.

Python
...

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.

Python
...

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 Replit offers.

Python
...

Lesson 11

Keeping your data in check with Replit database

Connect a Replit database and perform so-called "CRUD" (Create, Read, Update, Delete) operations that are fundamental to any database-backed software.

Python
...

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.

Python

Part 3

Advanced projects

...

Lesson 13

Beginner web scraping with Python and Replit

Learn more about what web scraping is, how websites are built, and how to automatically scrape data from websites.

Python
...

Lesson 14

Building news word clouds using Python and Replit

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

Python
...

Lesson 15

Building a Discord Bot with Python and Replit

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

Python
...

Lesson 16

Building a Discord bot with Node.js and Replit

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

NodeJs
...

Lesson 17

Hosting a web app with Django and Replit

Build a django web application and host it with Replit. You’ll use geolocation a weather API to show the local weather forecast

Python
...

Lesson 18

Build a CRM app with NodeJS, Replit, and MongoDB

Another web application, but using NodeJS instead of Django. Build a basic app to manage customer information.

NodeJs
...

Lesson 19

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.

Python
...

Lesson 20

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.

Python
...

Lesson 21

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.

Python
...

Lesson 22

2D platform game with PyGame

Build a fun 2D platform game while learning all about Python game development. It's easily expandable with endless possibilities so let your imagination run wild!

Python
...

Lesson 23

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.

Python
...

Lesson 24

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.

Python
...

Lesson 25

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.

Python
...

Lesson 26

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. The tutorial provides valuable knowledge on game development and network programming principles.

NodeJs
...

Lesson 27

Build a team technical challenge website

Build a leaderboard website for online technical challenges using the replit.web framework. The implementation focuses on generic aspects of a leaderboard and allows you to customize the styling to create one for your own competition.

Python
...

Lesson 28

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.

Python
...

Lesson 29

Build an email news digest app

Build a bulk email sending application using Nix and Celery on Replit. Explore the power of Nix on Replit to setup a database, webserver and message broker while celery will be used to schedule and run background tasks.

Python
...

Lesson 30

Building a two player Wordle clone

Build a clone of the popular Wordle word guessing game. The game is similar to Hangman in that one player enters the word and the other player tries to guess it. At the end of the tutorial you will know how to use Rich to build your own version of Wordle on the Replit platform.

Python