Python
10 Hard Python Projects For Intermediates To Boost Your Python Skills & Portfolio Do you want to fast-track your learning Python ? 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.
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.

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
By default, Python codes are run synchronously. This can not only slow the user’s experience but also takes a lot more time to complete tasks and prevents scalability.
If you web scrape a lot, you’ve probably encountered a situation whereby you need to scrape and store the data you scraped, but your entire code block stops when storing the data, and further scrapes are halted. This problem can also arise in different applications which require frequent and multiple API calls from different users.
This post shows you how to fix that using asynchronous Python programming. You would also understand the difference between asynchronous and synchronous, and how you can use these design principles as a day-to-day heuristic.
In computer science, understanding how the hardware works hand in hand with software is extremely critical, particularly for beginners.
This understanding not only helps solidify new concepts but also provides an intuitive grasp of their origins.
One widely encountered concept that almost every programmer has at least some farce idea of, is asynchronous programming. No matter your tech stack, you would’ve come across asynchronous programming.
Another fundamental Concept is Parallel processing. You’ll most likely find this concept as bread and butter in fields involving complex mathematical operations, such as machine learning, or the rendering of intensive graphics, like in game development.
You know when you download a program and it has .exe extension? Say you wanted to start this program. You proceed to double-click on it. A set of instructions on the program file is executed and the program is initiated.
This instantiation is what is called a process. In essence, a process is the active occurrence or instance of a program.
No one knows exactly when a program that has been initiated, transitions to a process. But most likely, if it has been allocated a space in the RAM or has been given a processID, its process has instantiated.
A program is simply just the executable file on your disk storage. A process is what spawns out from executing that file. A program consumes disk space but doesn’t consume CPU resources. A process consumes CPU resources but doesn’t consume disk space.
One thought on “10 Hard Python Projects For Intermediates To Boost Your Python Skills & Portfolio”