Are you frustrated coding dummy projects in order to learn Python? This article gives you 10 highly practical code projects which you can solve by yourself to improve your skills.
My “Coffee Break Python” email reader Jason struggles with the problem of finding practical code projects:
“I want to do “real life projects” but when I read them on Freelancer or Upwork I feel like don’t know where to even start. I feel what would be beneficial for me is to have a list of projects that would resemble real world “getting paid” projects that might be in some kind of order and would give me the skills and confidence and “the instinct” to get out there. These projects would have no instruction, other than what you might get from someone hiring you. They would cover all of the skills that someone would need to at least get the foot in the door.”
As Jason points out: finding practical code projects is a common challenge of millions of Python learners. That’s why I have crawled hundreds of archived Python freelancer projects in 2019 (don’t ask how long I lost myself in this infinite corpus of Python projects) on the Freelancer platform. Ultimately, I have found these 10 best projects to help you gain practical coding skills fast.
Each of these projects has actually earned money for a Python freelancer in 2019.
You can use the Dollar amount of the projects as a proxy for difficulty.
So roll up your sleeves, choose your dream project, and start learning Python now — in the most practical manner there is.
1. Website with Flask and Python for Data Analysis
Project earnings: $200
“The project consists of creating a page with the Flask framework in order to let the user analyze textual data.
The idea is to let the user upload their dataset (in format like CSV, TSV, etc.)
After that have some options to customize the upload (choosing the separator, header existing or not, strings are quoted or not, etc…).
Once the dataset is loaded the user can choose the type for each column (numerical data, strings, etc.).
After that, the user selects the columns containing the verbatims and click on an analyze button.
The data is then pushed to the backend where I’ll have python scripts to do text classification and other Machine learning models that I’ve developed.”
Tip: I would recommend that you simply assume that the analytics part is handled by the client. You can simply use any CSV data you can lay your hands on or create a small file yourself.
2. Need a Python Script
Project earnings: $20
“I need a Python script to post questions to my website.“
Tip: Assume that the questions are already given in a text file and you have to read them line by line. Simply find a website to which you can freely post content (e.g. a collaborative writing service).
Skills: Python, Web Scraping
3. Build a Program/Script to Get Quotes in Real-Time From Other Websites
Project earnings: $200
“I need a script/program that enters user data on other sites in real-time in order to get a quote.
Here is a use case:
A user is on my website looking for renter’s insurance and enters in their personal details.
Once they enter their personal details, this program/script enters those details on 5 other websites of insurance companies and pulls back the price quote from each.”
Tip: first find a few insurance comparison sites and learn how to access them via an API. Decide on the type of user input that is common to all sites (e.g. the age of the user). Now, write a script that takes the user input and asks all insurance comparison sites about a quote for the user.
Bonus: parallelize your script to access the insurance comparison sites concurrently with threading.
4. Build an Application for a Website for Selecting a Security Camera
Project earnings: $500
“Build an app that selected a security camera based on features the customer wants.
For example: Do you want night vision? Yes/No, Do you want Panning, Tilting, Zooming? Y/N
The customer will answer a series of questions and the app will suggest 1-2 cameras that best fit their needs.
Prefer to be coded in Python.“
Tip: Select the cameras first from Amazon. Then, write down different features of these cameras. Based on your data, come up with different questions. Now, write a Python script that iteratively restricts the set of user restrictions by asking the user one question after another.
5. Football (Soccer) Predictions Bot
Project earnings: $210
“I am addressing this project to people who have already build such a bot and can show me results of their work.
What I am looking to receive is a bot that collects historical data from at least 2 sources and to be able to make predictions for today, tomorrow and this week regarding upcoming matches.
I want to have the ability to set the odds (1.1 to 1.5, >1.5 to 1.8, higher than 1.8) and the bet types (Double Chance, 1×2, Under / Over 1.5, Under / Over 2.5, Both Team Score).
I want to have the results sorted by the highest change of winning. I need to results displayed on a web page. I will provide a VPS that will host the project (if you can recommend a VPS provider that you have used for past projects – I will use it).
This is the first part of the project. After I test the accuracy of the predictions – I will decide if we move ahead into the next phase with more features.
Tip: you don’t need to host the project anywhere — just do it on your local PC. It’s all about making prediction of football games based on some data sets which you find online (e.g. the rankings of the teams playing against each other).
6. Using Youtube API to Find Audience Demographics
Project earnings: $170
“I’m quite a novice at this sort of stuff so ideally, I’d like to be able to find the audience demographics of a certain youtube channel and import onto a google sheet. Similar to what Tubular does.”
Tip: This project is about accessing the Youtube API to get statistics about Youtube channels. To increase the difficulty level a bit, you can let the user type in different Youtube channels and you output a sorted list of channels with respect to their size (number of subscribers).
7. Build an Automatic Email Responder
Project earnings: $1214
“We need something coded in Python 3 that will take emails sent to a certain email, read certain of pieces from that email and send out that data to another email.”
Tip: Crawl each email you receive for email addresses and website addresses. Then visit the websites and crawl them for email addresses, too. Send a reply email to all found email addresses with a pre-defined text. Use dummy email addresses — e.g. throw away email addresses — to test your script.
8. Web Scraper
Project earnings: $427
“I need somebody to scrap a website for me: image, price, inventory, size, description. I want to import it to Shopify and I want it to be monitored so that when the prices or inventory changes in the original website I want it to automatically update in my website.”
Tip: Simply select a Shopify website to monitor. Then create a script with an infinite while loop which repeatedly pulls the content of the website, checks whether anything changes, and waits for a pre-defined time interval.
9. A website for Financial Stock Market using Python
Project earnings: $347
“Create a website using Python Django/Flask.
Data should be pulled into MySQL database everyday from Yahoo/Google finance.
The website should display graphs and users should be given options to search for stock prices.”
Tip: This is an interesting project. Implement it with a minimalists mindset: add only the requested features. Nothing more.
10. Deep Deterministic Policy Gradients for Robotic Manipulations: Reinforcement Learning
Project earnings: $322
“Input: Image [48×48] High dimensional data
Output: [x, y, z, g]
x,y,z are coordinates
g: 0 -180 degrees
Predict the output values using DDPG for an application
Tip: Fortunately, the client provides a link to the research paper. Read the paper and all the background you need to be able to implement this project. This is very advanced but if you manage to solve this project, you know that you are a machine learning master!
Skills: Data Science, Machine Learning, Python
Where to Go From Here?
These projects are just the beginning. If you need more projects, feel free to crawl the archived freelancing projects yourself.
Becoming a Python freelancer is a very interesting possibility to earn money nowadays. You can earn money on the side or full-time. And the hourly rate in the US is more than $61. An average freelancer earns more than a University professor!
To help you get started, I have created the Python freelancer course which is designed to pay for itself after a few days of practical coding. After completing the freelancer course, you will have acquired a new high-income skill Python development.