10 Hard Python Projects For Intermediates To Boost Your Python Skills & Portfolio.

Alexander obidiegwu
5 min readDec 26, 2023

Timeline to finish each project — 1 month

Do you want to fast-track your learning? Tired of not being confident enough to tag yourself as an expert? Or maybe you do, but deep down we both know that’s not really true.

This projects aim to clear those doubts. Obliterates them overnight. But this would need discipline and willing brain wrecking.

Here are 10 projects that would make you stand out among the thousands of Python developers.

Contact me on Upwork for software development jobs relating to Python.

1 . Sitemap generator

A sitemap is a file where you provide information about the pages, videos, and other files on your site, and the relationships between them. Search engines like Google read this file to crawl your site more efficiently. — Google Developers

If you’ve ever had your website or personally hosted blog, you would have come across a situation where some of your blog posts aren’t indexed at all or just not indexed fast enough.

Google offers a way to fix that using site maps. This helps google crawl the sites faster and prioritizes your website pages over other websites. We can do this using scrapy and selenium.

These include pages from clickable elements eg dropdowns. Get a random site or your website and generate a sitemap for it. To understand the format, you can generate a sitemap for a website or mini-blog.

I’d leave a solution to this on my Git Hub. You can check that out when you want. Good luck.

2. Local Chatting system

If you’re familiar with Tech with Tim on YouTube, he was able to land a job at Shopify by building a well-structured, neat, and error-free chatting system.

This chatting system allows anyone to easily join locally, and chat with each other. To mark this project completed, it must be error-free, functions without clear naming should have comments, and it must be reusable.

This project would require some knowledge of socket.io, python, and Django which you can always learn. Once you are done, check out the solution here.

3. Build a CAPTCHA Maker

To know your enemy, you must become your enemy. — Sun Tzu.

If you’ve ever scraped websites, you would constantly come across captchas, obstructing you from trying to save the world.

This project is not necessarily to enable you to find loopholes (unlikely you would find either way) but to see things through the eye of web scraper’s greatest nemesis. The captcha.

Captcha monster by dalle

Build a captcha maker that can be used to verify human presence before a form is submitted.

4. Build a Simple Blockchain in Python

When you hear blockchain, what first comes to mind? Crypto? Decentralization? Sam bankman fried? or just a block of chains?

Either way, I doubt blockchain technology is ever going anywhere. If you don’t understand what a blockchain is, it’s just a digital ledger where records of transactions/input(s) are kept, stored, and hashed, to prevent future changes and to ensure the integrity of the data timelessly.

Block - A space where we store transactions
Chain - A set of linked records

Each block is built or connected to the other making every block dependable on one another. This creates an irreversible chain of blocks, hence the name blockchain.

We are going to create a blockchain that can store user interactions (eg users’ changes of site’s color or pages visited) on a site.

5. Work Hours Monitor

This can be one of the best productivity tools to wield. Everyone has a certain period at which they work. We can try to track ourselves manually by setting an alarm clock or downloading some software but the timer/software has no knowledge about the times you become mentally disengaged with your work or take a quick piss in the toilet and this can create a bias where you believe you work longer than you actually do.

Creating our custom work monitor can help curb these issues. One way is to keep track of applications or websites that we often use when working.

Once any of them are active and in the foreground, we can begin or continue counting. Otherwise counting should either pause or stop.

6. GIF Generator

From pieces of images or a short clip of video, try to make a smooth-looking gif.

7. Extract questions from PDFs

As the name suggests, we would find a way to extract all questions from a bunch of PDFs. What would a question look like? Does it end with a question mark? What are the most appropriate words to start a question? (eg. why).

You can use the PyPDF2 or PyMuPDF Python Package.

Here’s the solution.

8. Turn on & off LED light using python

This project would help you understand how Python can easily communicate with hardware devices like sensors.

You can get the hardware components for as little as $100 from Arduino. This would open your mental horizon to possible ways facial recognition devices could work.

9. Bulk Thumbnail Creator

Picture processing can take a bit of time for some transformations. Especially if the image is large. Create an image program that can take hundreds of images and convert them to a specified size in the background thread while you do other things.

For added complexity, have one thread handling re-sizing, have another bulk renaming of thumbnails, etc.

10. Develop a Chrome extension

Build a Chrome extension that would communicate with your work hours monitor to monitor your browser activity during working hours.

This ensures that the work hours counted are only for websites you have specifically associated with your working environment. Eg stackoverflow.

GOODLUCK!

Breaking bad image

Follow on Linkedln:@alexander
Follow on Twitter: alexander

--

--

Alexander obidiegwu

Explaining foundational concepts and principles of Python, SQL and Mathematics.