What are the best Python projects for beginners?

juliatorrejon profile image Julia Torrejón ・1 min read

Can you recommend project ideas for someone who is learning Python and wants to build a portfolio?


markdown guide

These are some of the things I can come up with on the spot
1) Building Alexa skills using Flask-Ask and various online APIs
2) Data scraper using scrapping libraries like beautifulsoup or Scrapy
3) Visualising data like matplotlib using open data and documenting your progress
4) Teaching Python to people in your area
5) Working with raspberry pi or microbit to build IoT projects or robotics projects
6) Creating a chatbot using python libraries


Thank you for all these ideas!

I have to start thinking about what to do next :D

I will probably work with Raspberry Pi, as they have hundreds of interesting projects to start with!


Hahaha have fun with it then and share it here. I'll follow you to keep myself update on what is happening in the Raspberry Pi side then :)


As someone who looked at CVs and portfolios of candidates: I got the best impression from projects that were completed. One small, but working and finished thing beats many half-finished grandiose projects.

For concrete ideas, first of all I think it's best when you create something that is useful to you. Be it a todo list app or something that fetches discounts from a webshop you regularly use. Don't be afraid to steal ideas from others. It's perfectly fine to look up the topic you want to work on and find inspiration.

Some more concrete ideas:

  • implement the "classics", like game of life, tetris, breakout etc. Pygame / PygameZero can help a lot with those
  • get a microbit and create tangible electronic projects with python. Just making LEDs blink is incredibly satisfying, but there are also way more interesting projects out there
  • get a raspberry pi and do the same with more fidelity ^

Thanks Tamás!

I have some ideas in mind but I guess the most difficult part is where to start.

Thinking about getting a Raspberry Pi as I have seen some really interesting projects out there! :D


I suggest following tutorials and customizing them with your own ideas. This seems like a set of nice beginner tutorials: codeclubprojects.org/en-GB/python/ (I linked that not really knowing your knowledge level, so I tried to link something that's super easy).

Also, since you specifically mentioned building a portfolio, I suggest learning how to use Github so you can have a place to publish your projects. Good luck!

Thanks! 🙂

Raspberry Pi Foundation seems to have a wide variety of great projects in various languages which is quite convenient.

I have started experimenting with Github by publishing small projects and stuff, but still so much to learn about this platform!


Here are the best and 5 mini python programming projects for beginners

In these days, java programming and python these 2 are the best programming languages and everybody needs to learn online java and python if you don't have time.

A.Dice Rolling Simulator

Concepts to keep in mind:
4.While Loops

B.Guess the Number

Concepts to keep in mind:
1.Random function
6.While loops
7.If/Else statements

C.Mad Libs Generator

Concepts to keep in mind:

D.TextBased Adventure Game

Concepts to keep in mind:
4.If/Else Statements

E.Hangman :

Concepts to keep in mind:
4.Input and Output


I really like how you broke this down to what concepts are used in each project. I think that's incredibly helpful


Good thinking Payal!

Keeping in mind these concepts when considering a project is a great idea in order to solidify the knowledge since it offers a means to view some concepts integrated together.


Hi Julia,

in addition to what Tamás said, what about contributing to some OS projects?

Or scratching your own itch, or trying to replicate some app you already use...

A long time ago writing a blog engine was the classic "beginner app" for would be web developers. I also remember that in the book Practical Common Lisp you ended up writing a command line MP3 player with id3 tag detection. That could be a "different" project.

You could also try to replicate youtube-dl (which is already in Python but still...) maybe the bare minimum functionality could be an interesting exercise


Thank you! That looks like a great starting point! :D