13 Design Ideas for Intermediate Python Developers

Table of contents

Learning the basics of Python is a wonderful experience. But the euphoria of simple study can be replaced by a thirst for practical projects. The desire to create projects is normal, hence the need for design ideas.

The problem, however, is that some projects are either too simple for a mid-level Python developer, or too complex. This article will suggest projects that you can work on as a mid-level Python developer. These project ideas will provide you with the appropriate level of complexity.

In this article, you will learn:

  • The importance of creating projects
  • The main platforms on which you can create projects
  • Thirteen project ideas that you can work on
  • Some tips for working on projects

Free Bonus: 5 Reflections on Python Mastery, a free course for Python developers that shows you the action plan and mindset you'll be working with. you need to take your Python skills to the next level.

The importance of project development

Working on projects is vital to advancing your career as a Python developer. They allow you to apply the acquired skills and knowledge.

Projects can help you:

  • Build confidence: You will have more confidence in your ability to create software regardless of the level of complexity.

  • Explore other technologies: You will learn about other technologies needed to create a complete product, such as databases, servers, and other programming languages.

  • Better understand programming concepts: You will learn to write code better and understand concepts such as design patterns and object-oriented programming..

  • Go through the full software development lifecycle: You will learn how to plan before writing code, manage the coding process, and update software.

As a Python developer, you can gain a lot from creating projects.

Choosing a platform for the project

You need to create software to run on the platform so that people without specific technical knowledge can use your software. The web, desktop, and command line are the three main platforms you'll want to create your projects for.

Web

Web applications are applications that run on the Internet and can be accessed from any device without downloading, provided you have Internet access. If you want your projects to be accessible to everyone with internet access, it should be a web application.

The web application has a backend and an interface. The server part is the part where the business logic is implemented: your server code will process the data and store it. The external interface is the interface of the application: your external code will determine the appearance of the web application.

As a mid-level Python developer, you will focus on server-side code. However, interface code is also important, so you will need some knowledge of HTML, CSS, and possibly JavaScript to create a simple-looking interface. Just the basics will be enough.

Another option is to use Python for both the interface and the backend. Thanks to the library anvil, which eliminates the need for HTML, CSS and JavaScript, you can focus only on Python code.

You can create web applications in Python using web frameworks such as django and flask. The list of frameworks for creating web applications using Python is long. There are plenty to choose from, but django and flask remain the most popular web frameworks.

Graphical desktop interface

Every time you perform a task on your PC, whether it's a desktop computer or a laptop, it's done using an application. As a mid-level Python developer, you can create your own desktop applications.

You don't need to learn any interface technologies to create your own graphical user interface (GUI) applications, as you've seen with web applications. You can create all the components using Python.

There are frameworks for creating your desktop applications. PySimpleGUI this is one of them, and it's pretty easy to use for a mid-level Python developer.

An advanced framework with a graphical interface similar to PyQt5, It is quite powerful, but may require difficult training.

The software you create for the desktop GUI can run on any Windows, Linux, or Mac operating system. After creating the project, all you need to do is compile it into an executable file for your chosen operating system.

Command line

Command-line applications are those applications that run in a console window. It is a command prompt in Windows and a terminal in Linux and Mac.

To use a web application or a GUI application, you need to click with the mouse, but for command-line applications you need to enter commands. Users of command-line applications will need to have some technical knowledge, as they will have to use commands.

Command-line applications may not be as beautiful or easy to use as web or GUI applications, but that doesn't make them any less powerful than web or GUI applications.

You can enhance the look of your command-line applications by applying colors to the text. There are libraries that you can use for coloring, such as colorama and colored. You can spice things up and use some color.

To create your own applications, you can use frameworks such as docopt, argparse, and click.

Ideas for web projects

In this section you will see project ideas for the Internet. These project ideas can be classified as useful and educational tools.

Here are the project ideas:

  • Content Aggregator
  • Regular Expression Query Tool
  • URL shortening tool
  • Leave your comments
  • Quiz app

Content Aggregator

Content is the main thing. It is present on the Internet everywhere, from blogs to social media platforms. To keep up, you need to constantly search for new information on the internet. One way to stay informed is to check all the sites manually to see what new posts are appearing. But it takes a lot of time and is quite tedious.

This is where the content aggregator comes in handy: the content aggregator collects information from various sources on the Internet and collects all this information in one place. This way, you don't need to visit multiple sites to get the latest information: just one website is enough.

Note: Follow this project-based guide to create a content aggregator for podcasts in Python and Django. Using the custom management commands, feedparser and django-apscheduler, you will configure the application to periodically analyze RSS feeds of podcasts in Python and display the latest episodes to your users.

With the help of a content aggregator, all the latest information can be obtained from a single site that combines all the content. People can see the posts they are interested in and decide to learn more about them without wandering all over the Internet.

Examples of content aggregators

Here are some implementations of the content aggregator idea:

Technical details

The main goal of this idea project is to aggregate content. First, you need to know which sites you want the content aggregator to get content from. Then you can use libraries such as requests to send HTTP requests and BeautifulSoup for disassembly and cleaning the necessary content from the sites.

Your application can implement content aggregation as a background process. Libraries such as celery or apscheduler, they can help with this. You can try apscheduler. It is great for small background processes.

After clearing the content from various sites, you will need to save it somewhere. So, you will use the database to save the cleaned up content.

An additional challenge

For a more complex task, you can add more websites. This will help you learn how to study websites and extract information from them..

You can also ask users to subscribe to certain sites that you aggregate. Then, at the end of the day, the content aggregator will send the articles for that day to the user's email address.

Regular Expression Query Tool

We deal with text on a daily basis. This article, which is also a text, has a structure. It will make it easier for you to understand her. Sometimes you need to find certain information in the text, and using the usual search tool in text editors may not be effective.

That's where the regular expression query tool comes in handy. The regular expression is a set of strings, so the regular expression query tool will check the correctness of the queries. When a regular expression matches patterns in the text, it informs the user about it and highlights the corresponding patterns. So, your regular expression query tool will check the correctness of the regular expression strings passed by the user.

With the regular expression query tool, users can quickly check the correctness of their regular expression strings online. This makes it easier for them to check the lines in a text editor.

Examples of regular expression query tools

Here are several implementations of the idea regular expression query tool:

Technical details

The main purpose of this type of project is to inform the user about the validity of the entered query strings. You can make it give a positive or negative response, for example, Query String Is Valid and Query String Is Invalid by highlighting the positive response in green and the negative in red.

You don't need to implement a query tool from scratch. You can use the Python standard library re, which you can use to execute query strings based on the entered text. The library re returns None when the query string does not match anything, and returns matching strings if the result is positive.

Some users may not fully understand regular expressions, so you can create a page explaining how regular expressions work. You can create documentation that is interesting enough to interest users in learning and understanding regular expressions.

An additional challenge

It's okay to create a project that simply returns the correctness of a regular expression. But you can also add a replacement function. This means that the application will check the correctness of the regular expression, and will also allow users to replace matching strings with something else. Thus, this tool is no longer intended for search, as well as for replacement.

URL shortening tool

URLs can be very long and inconvenient for the user. When people share links or even try to remember a URL, it's difficult because most URLs are filled with more complex characters and don't form meaningful words.

That's where the URL shortening tool comes in handy. The URL shortener reduces the number of characters or letters in URLs, making them easier to read and remember. A URL like xyz.com/wwryb78&svnhkn%sghq?sfiyh can be shortened to xyz.com/piojwr.

Using the URL shortener, it becomes a pleasure to work with them.

Examples of URL abbreviations

Here are some implementations of the URL shortening idea.:

Technical details

The main goal of this idea project is to shorten URLs. The main task that the application will perform is to shorten URLs and then redirect users to the original URL when they visit the shortened URL.

Note: If you want to move on to creating a URL shortener with step-by-step support, check out Creating a URL shortener using FastAPI and Python.

In the application, users will enter the original URL and as a result will receive a new, shortened URL. To do this, you can use a combination of random and string modules to generate characters for the shortened URL.

Since users will be navigating to the shortened URL in days, months, or even years, you need to save the original and shortened URLs in the database. When a request is received, the application checks if the URL exists and redirects to the source URL or to the 404 page.

An additional challenge

The generated shortened URL with random characters turns out better than a long random URL. But you can improve the result for users. You can add a URL customization feature so that users can customize the generated URLs themselves.

Without a doubt, a custom URL xyz.com/mysite is better than a randomly generated URL. xyz.com/piojwr.

Attach a note

It is human nature to have a lot of thoughts and ideas in a day, but it is also human nature to forget. One way to deal with forgetfulness is to write them down before they disappear into thin air. Although some of the forgotten thoughts and ideas may be trivial, some can be quite effective.

That's where a sticker note comes in handy: A sticker note is a small piece of paper with adhesive tape on the back, which allows it to be attached to surfaces such as documents, walls. Post-It notes make it easier to record information. The idea of the Post-It note project is about the same. It allows users to record information, making it available anywhere, as it is a web application.

With the "Post-It note" feature, users can now record anything anywhere without fear of forgetting something or putting notes in the wrong place, which is possible when using physical notes.

Examples of Post-It notes

Here are some implementations of the Post-It Note idea:

Technical details

The main goal of this project is to give users the opportunity to record their thoughts. This means that each user will have their own notes, so the app should have an account creation feature. This ensures that each user's notes remain personal to them.

django It comes with a user authentication system, so it might be a good choice. You can use other frameworks such as bottle or flask, but you will have to implement the user authentication system yourself.

Since users may need to divide their notes into different sections, the introduction of a feature that allows users to categorize their notes will make the app more useful.

For example, you may need notes on algorithms and data structures, so you will need to be able to separate notes into these categories.

You will need to store the information and notes of each user, so the database becomes an integral part of this project. The MySQLdb module can be used if you want to use the MySQL database or the psycopg2 module for the PostgreSQL database. There are other modules that you can use, but it all depends on the database that you decide to use.

An additional challenge

Since users tend to forget about their ideas, they also tend to forget that they made a note somewhere at all. You can add a feature to remind users of their notes. This feature will allow users to set a time for a reminder, so that the app will send a reminder to users when the time is right via email.

Quiz application

Knowledge is power. There are so many things in the world that need to be learned, and tests help to test the understanding of these concepts. As a mid-level Python developer, you don't necessarily need to know everything about this language. Taking tests is one of the ways to find out what you don't fully understand.

Note: If you want to create a test step by step, you can check out Creating a Python testing application.

The quiz app comes to the rescue here. The quiz app will ask users questions and expect correct answers to these questions. Imagine the quiz app as a kind of questionnaire.

Using the Quiz application, special users, whom you can call administrators, will be allowed to create tests so that ordinary users can answer questions and test their understanding of the test topics.

Examples of quiz applications

Here are some implementations of the quiz app idea:

Technical details

The main goal of this project is to set quizzes and get people to answer them. So users should be able to ask questions, and other users should be able to answer those questions. The app will then display the final result and the correct answers.

If you want users to be able to record their scores, you may need to implement an account creation feature.

Users creating tests should be able to create tests with questions and answers by simply uploading a text file. The text file will have a format that you can choose yourself so that the application can convert it from a file to a test.

For this project, you will need to create a database. The database will contain questions, possible answers, correct answers, and ratings for each user.

An additional challenge

For more complexity, you can allow users to add timers to the tests. This way, the test creators can determine how many seconds or minutes the user should spend on each question in the test.

It would also be great to have a test sharing feature so that users can share interesting tests with their friends on other platforms.

Ideas for a GUI project

In this section, you will see project ideas for graphical user interfaces. These ideas can be classified as entertainment, financial, and utilitarian tools.

Here are the project ideas:

  • MP3 player
  • Alarm tool
  • File Manager
  • Cost tracking

MP3 player

Audio is just as important as text today, if not more important. Since audio files are digital files, you will need a tool that can play them. You will never be able to listen to the contents of an audio file without a player.

That's where an MP3 player comes in handy. An MP3 player is a device for playing MP3 files and other digital audio files. The idea behind the MP3 player GUI project is to simulate a physical MP3 player. You can create software that will allow you to play MP3 files on your desktop computer or laptop.

When you finish creating an MP3 player project, users will be able to play their MP3 files and other digital audio files without having to purchase a physical MP3 player. They will be able to play MP3 files from their computers.

Examples of MP3 players

Here are some implementations of the idea of creating an MP3 player:

Technical details

The main goal of this project is to provide users with the ability to play MP3 and digital audio files. For an application to be attractive to users, it must have a simple but beautiful user interface.

You can have an interface to display a list of available MP3 files. You can also provide users with the ability to view other digital audio files that are not MP3.

Users also expect the MP3 player to have an interface that displays information about the file being played. Some information that you can include is the file name, its length, and the number of played and unused files in minutes and seconds.

Python has libraries that can play audio files, such as pygame,, which allows you to work with multimedia files in a few lines of code.. You can also check out pymedia and simpleaudio.

These libraries can handle a variety of digital audio files. They can handle other types of files, not just MP3 files.

You can also implement a feature that allows users to create playlists. To do this, you will need a database to store information about created playlists. The Python module sqlite3 allows you to use the SQLite database.

The SQLite database is the best option in this case, as it is file-based and easier to set up than other SQL databases. Although SQLite is based on files, it is better suited for saving data than a regular file..

An additional challenge

For a more fun task, you can add a feature that allows the MP3 player to play the files that are currently playing, or even shuffle the list of files being played.

It is also possible to implement a feature that allows users to increase or decrease the playback speed of an audio file. Users will find this interesting because they will be able to play files slower or faster than usual.

Alarm tool

As the saying goes, “Time waits for no one.” But there's so much going on in our lives that it's hard not to lose track of time. To be able to keep track of time, you need a reminder.

That's where the alarm tool comes in handy. An alarm is a device that gives an audible or visual signal about a certain condition. The idea behind the design of this alarm tool is an attempt to create an alarm system in the form of software. The alarm system beeps when a certain condition is met. In this case, a certain condition is the set time.

With the Alarm Tool, users can set alarms that will remind them of anything at a certain time of day. The Alarm Tool project will work from the user's laptop or desktop device, so they do not need to purchase a physical timer.

Examples of alarm tools

Here are some implementations of the alarm tool idea:

Technical details

The main goal of this project is to activate sound signals at a certain time of the day. Thus, the timing and the sound signal being played are the most important components of the alarm tool.

The Alarm tool should allow users to create, edit, and delete alarms. It should also have an interface that lists all alarms, provided they have not been deleted by the user. Thus, it should list active and inactive alarms.

Since this is an alarm, the application should play the alarm sounds at the set time. There are libraries for audio playback such as pygame the library.

According to the logic of your code, the application should continue to check the set alarm time. When the set time is reached, the alarm sound playback function starts.

Since the application will check the set alarm time, this means that the application must save the alarms in the database. The database should store data such as the date, time, and location of the audio signal.

An additional challenge

As an additional feature, you can allow users to set recurring alarms. They will be able to set alarms that will sound at certain times on certain days of the week, every week. For example, the alarm clock can be set at 2 p.m. on Mondays.

You can also add a snooze feature so that your users can turn off alarms, not just turn them off.

File Manager

The number of files on the personal computer of the average PC user is quite large. If all these files were placed in one directory, it would be difficult to navigate and find files or directories. Thus, it is necessary to organize and manage the files correctly.

That's where the file manager comes in handy. The file manager allows users to manage files and directories through a user interface. Although files can be managed using the command line, not all users know how to do this.

With the help of the file manager, users can organize their files and directories correctly, access and administer them without knowing how to use the command line. Some of the tasks that the file manager allows users to perform include copying, moving, and renaming files or directories.

Examples of file Manager tools

Here are some implementations of the file manager idea:

Technical details

The main goal of the File Manager project is to provide users with an interface for managing their files. Users want the file manager to have an attractive appearance and be easy to use.

You can use the library PySimpleGUI to create unique user interfaces with a powerful widget, without resorting to much complexity.

Your users should be able to perform simple tasks such as creating new directories or empty text files. They should also be able to copy and move files or directories.

Libraries sys, os, and shutil will be very useful for this project, because they can be used to perform actions with files in the background while the user clicks the button.

Today, table and list representations are popular, so you can implement both types in the application. This gives the user the opportunity to choose which viewing option suits them.

An additional challenge

To make the file manager a little more perfect, you can implement a search function. This way, users will be able to search for files and directories without having to find them manually.

You can also implement a sorting function. This will allow users to sort files according to different orders such as time, alphabetical order or size.

Cost tracking

We have daily expenses, from groceries to clothes to bills. There are so many expenses that we lose track of them and keep spending until we almost run out of cash. The tracker can help people keep track of their expenses.

That's where the expense tracker comes in handy. An expense tracker is a software tool that allows users to track their expenses. He can also analyze expenses, depending on how advanced he is, but for now let's make it easier.

With the expense tracking feature, users can create a budget and track their expenses to make more informed financial decisions.

Examples of cost tracking tools

Here are some implementations of the idea of tracking expenses:

Technical details

The main purpose of this project is to track user expenses. Some statistical analysis is needed to provide users with the correct information about their expenses and help them spend better.

While cost tracking is key, a good interface is also important. With PySimpleGUI you can create a unique interface to enhance the user experience.

PyData libraries such as pandas and matplotlib can be useful for creating an expense tracking system.

Library pandas it can be used for data analysis, and the library matplotlib - for plotting graphs. Graphs give users a visual representation of their expenses, and the visual representation is usually easier to understand.

The application will receive data from users. The data here is the entered expenses. So you will need to save the expenses in the database. An SQLite database is a good choice for this project, as it can be quickly configured. You can use the sqlite3 module for the SQLite database.

An additional challenge

In order for your users to take advantage of this project, they will have to regularly indicate their expenses, which may escape their attention. It might be useful for you to implement a reminder feature. Thus, the app will send notifications at certain times of the day or week, reminding you to use the expense tracking system.

Ideas for projects on the command line

In this section, you will see project ideas for the command line. The project ideas discussed can be classified as utilities.

Here are the project ideas:

  • Contact Book
  • The means of checking the connection to the site
  • A means of mass file renaming
  • Directory Tree Generator

Contact Book

We meet with a lot of people every day. We make acquaintances and friends. We get their contacts to keep in touch later. Unfortunately, it can be difficult to save the received contact information. One way to do this is to write down the contact details. But this is not safe, as the physical book can be easily lost.

This is where the Contact Book project appears. The Contact Book is a tool for saving contact data such as name, address, phone number, and email address. With this Contact Book project, you can create a software tool that people can use to save and find contact information.

With the Contact Book Project Idea app, users can save their contacts with less risk of losing their saved contact information. It will always be available from their computer via the command line.

Examples of tools for creating a contact book

There are applications for recording contacts, but it is rare to find applications for recording contacts on the command line, since most of them are web applications, mobile applications, or GUI applications.

Note: A detailed explanation of how to create a contact book based on a graphical user interface is given in the article Creating a contact book using Python, PyQt and SQLite.

Here are some implementations of the contact book idea:

Technical details

The main purpose of this project is to save contact information. It is important that you set up commands that users can use to enter contact information. You can use the command line frameworks argparse or click. They abstract away a lot of complex elements, so you only need to focus on the logic that must be followed when executing commands.

Some functions that you should implement include commands to delete contacts, update contact information, and create a list of saved contacts. You can also allow users to create a contact list using various options such as alphabetical order or the date the contact was created.

Since this is a command-line project, the SQLite database is perfect for saving contacts. SQLite is easy to set up. You can save the contact information in a file, but the file will not provide the benefits that you can get from using SQLite, such as performance and security.

To use the SQLite database in this project, the Python module sqlite3 will be very useful.

An additional challenge

Do you remember how the database is stored on the user's computer? What if something happens, for example, the user loses his files? This means that he will also lose contact information.

You can try again and create a backup copy of the database in the online storage. To do this, you can upload database files to the cloud at certain time intervals.

You can also add a command that allows users to create database backups themselves. This way, the user can still have access to the contacts in case of loss of the database file.

Please note that you may need some form of identification so that the contact book can identify which database file belongs to a particular user. One way to solve this problem is to implement a user authentication feature.

Checking the connection to the site

When you click on a URL, you expect the requested pages to appear in your browser. But this is not always the case. Sometimes sites may be unavailable, so you won't get the results you want. Instead, you will see error messages. You can continue to visit a website that is not working until it is working and you receive the necessary information.

That's where the Site Connectivity Checker project comes in. The site connection checker scans the URL and returns its status: it is either active or not. The site connection checker will periodically scan the URL, returning the results of each visit.

Instead of manually navigating to the URL, the site connection verification program can do all this manual work for you. This way, you will receive only the verification results, without spending time in the browser waiting for the site to launch.

Examples of verification tools for connecting to a website

Here are some implementations of the idea of checking the connection to the site:

Technical details

The main purpose of this project is to check the status of websites. So, you need to write a code to check the status of the website.

You can choose either TCP or ICMP for your connections. The module socket - this is something that needs to be checked. You can also read Programming sockets in Python (manual).

Note: check build a controller connection point in Python to see step-by-step instructions and an example of creating a site by connecting verification.

through the framework you have chosen, whether docopt, click, or argparse framework, you can add commands to allow users to add and remove objects from the list of objects to be checked.

Users should also be able to start the tool, stop it, and determine intervals.

Since you will need to save a list of files to check, you can either save it to a file (just a list of sites), or use the SQLite database through the module. sqlite3.

An additional challenge

The application can check the connection status of sites and display the results on the command line. But for this, the user will need to constantly check the command prompt.

You can complicate the task and implement a notification feature. The notification function can be to play audio in the background to notify the user of a change in the status of the site. You will need a database to store the previous status of the site. This is the only way the tool can detect when the status is changing.

File Mass Renaming tool

Sometimes you need to assign names to all files in a directory according to certain conventions. For example, you can assign File0001.jpg to all files in the directory, where their number increases depending on the number of files in the directory. Doing this manually can be stressful and monotonous.

The mass file renaming tool allows users to rename a large number of files without having to rename files manually.

This saves users a lot of time. This saves them from having to do boring repetitive work and make mistakes. With the help of the mass file renaming tool, users can rename files in a couple of seconds without any errors.

Examples of mass file renaming tools

Here are some implementations of the idea of mass file renaming:

Technical details

The main purpose of this idea project is to rename files. So, the application needs to find a way to manipulate the target files. Libraries os, sys, and shutil will be useful for most of this project.

Note: For a detailed explanation of how to create a contact book based on a graphical interface, see the article Creating a file mass renaming tool using Python and PyQt.

Your users will be able to rename all files in the directory using naming conventions. Therefore, they should be able to use the chosen naming convention. The regex module will help you choose the necessary naming patterns if you understand how the regular expression works.

The user may want to enter a naming convention as part of the commands, for example, myfiles, and expect the tool to rename all files, for example, myfilesXYZ, where XYZ is a number. They should also be able to select the directory where the files are located to rename.

An additional challenge

The main task in this project is to rename all the files in the directory. However, users may only need to assign names to a certain number of files. To test your skills, you can implement a feature that allows users to select the number of files to rename, rather than the entire files.

Please note that when renaming only a certain number of files, the tool will need to sort the files in alphabetical order, by file creation time, or by file size, depending on the user's requirements.

Directory Tree Generator

Catalogs are like family trees: each catalog has a specific relationship to other catalogs. No directory is ever left on its own, except for an empty root directory.

When you are working with files and directories, it is difficult to see the relationship between the directories because you can only see what exists in the current directory. You either use a file manager or work from the command line.

Using the directory tree generator, you can see the relationship between files and directories in a tree or map view.

This makes it easier to understand the location of files and directories. The directory tree diagram is important in explaining certain concepts, and the directory tree generator makes it easier to visually understand the relationships between files and directories.

Examples of directory tree generators

Here are some implementations of the idea of creating a directory tree:

Technical details

The main task of the directory tree generator is to visualize the relationships between files and directories. The library os can be very useful when compiling a list of files and directories in a selected directory.

Using a framework such as docopt or argparse helps you abstract away from many things, allowing you to focus on writing code for the application logic.

Note: Creating a Python directory Tree Generator for the command line is a step-by-step guide that shows one of the ways to create a directory tree generator.

In the application logic, you can choose how you want to represent files or directories. Using different colors is a great way to achieve this. You can use the colored library to print files and directories in different colors.

You can also choose how deep you want to use the directory tree generator. For example, if a directory has child directories that are twelve levels deep, you can select only the fifth level.

If you want, you can also let the user decide how deep they want to use the directory tree generator.

An additional challenge

Since the results of the generated directory tree will be displayed on the command line, you can take it one step further. You can ask the generator to create images of the directory tree, so that the text will be converted into an image.

To do this, you will need a library. pillow.

Tips for working on projects

Working on projects can be difficult. This is one of the reasons why motivation and interest in the project make it less of a challenge.

If you are interested in the project, you will be able to spend time on research, as well as find libraries and tools that will help you in the implementation of the project.

Here are some tips:

  • Find a source of motivation
  • Break the project into subtasks
  • Do a research on subtasks
  • Create each subtask step by step
  • Ask for help if you get stuck
  • Combine subtasks

Conclusion

In this article, you have reviewed a couple of ideas for Python projects that you may find interesting.

The project ideas cover a number of platforms. You've seen project ideas for web applications, graphical user interfaces, and command-line platforms.

You can create a project for different platforms. Using the URL shortener as an example, you can create a project for a web interface, graphical user interface, or command line.

Since you are a mid-level Python developer, these projects can be quite complex but interesting.

The best way to bring a project to life is to just get started. Very soon you will finish and discover how much you have benefited from working on the project!

Back to Top