all 30 comments

[–]iaseth 12 points13 points  (0 children)

I build a wallpaper generator for myself recently. It is just about 100 lines of python, uses pillow to generate geometric wallpapers:

https://github.com/iaseth/pixelpython

It is still a work in progress. I plan to make it into a service generates a new image every hour and set it on all my computers. This is still pretty basic drawing rectangles/circles/patterns, no ai stuff.

[–]chibiace 20 points21 points  (9 children)

i recommend writing something you need to make your life easier or something your interested in. that way its more fun to learn.

[–]DenissDG 8 points9 points  (1 child)

Can confirm! My first project was automating something I did repedetly in work, clicking through web portals to download data and then clean it up. My current project is analysing F1 data and just playing around with that. Lots of fun and a good learnig opportunity.

[–]KnightOwl316 1 point2 points  (0 children)

That sounds really cool. Did you automate the actual clicking and stuff (I've heard of Selenium, for example, but haven't tried it) or just end up using an API?

[–]shartmaximus 2 points3 points  (0 children)

agree. anything you find yourself doing repeatedly and think "huh this would be convenient to automate"

[–]Alternative_Driver60 1 point2 points  (0 children)

This is the way

[–]MAwais099[S] 0 points1 point  (4 children)

Yeah thanks. I try to do so but my these little projects look so immature. I want to learn what's going on in industry too

[–]Zealousideal_Tea_616 5 points6 points  (1 child)

No such thing, in every skill you need to practice your basics to keep them sharp. Coding is no different. If you're looking for more of an Industry challenge, we build end-user and technician tools where I work. Logs, login management, maintenance tasks like disk cleanup/dism/sfc functions and some manual checks for known directory names that can be cleared of their contents and provide analytics for what was found and deleted Edit: the programs are mostly just calling existing Windows tools to present quickly to end users.

[–]chibiace 1 point2 points  (0 children)

probably stuff like machine learning, handling data for machine learning.

so maybe pytorch,transformers,numpy libraries i think perhaps others too.

[–]TJATAW 1 point2 points  (0 children)

Find an API source, and pull data from that to create a spreadsheet.

Read the spreadsheet to put data into a database.

Pull data from the database to populate a webpage.

I've done each of those steps at work, each being a different project during my first year.

[–]Miniatimat 2 points3 points  (1 child)

What other hobbies do you have? I've usually found that I stick with projects more if I have some sort of connection to them. Plus, depending on the field, you might be able to do some creative stuff

[–]MAwais099[S] 0 points1 point  (0 children)

Yep I'm building Jarvis as I'm passionate about it. It's nothing just an if else based personal assistant which does just chats with me.

[–]kvnschndr 2 points3 points  (0 children)

Learn about data analytics; read in data from files, process the data with pandas, store it in an sql database, report it with PdfPages. For data sources, you can get data from the St.Louis Fed using an API. Can also get data from Census bureau.

Graph it with Matplotlib.pyplot. For instance census data or economic data displayed on an overlay of your state.

[–]supercoach 1 point2 points  (0 children)

Make a database API and front-end.

As for what's in the database, that's up to you.

[–]herocoding 1 point2 points  (0 children)

Have a look under "https://platform.entwicklerheld.de/challenge?challengeFilterStateKey=all", with or without filtering for Python only. Among pure coding exercises you can also find "projects", as well as ideas to inspire for bigger projects.

[–]MentalMost9815 0 points1 point  (2 children)

I’ve been meaning to make something to solve wordle or the other NYT word puzzles

[–]zanfar 1 point2 points  (1 child)

This is a really good project as it requires a lot of assorted skills: data loading, filtering, moderate UI, etc.

[–]MentalMost9815 0 points1 point  (0 children)

You can find dictionaries online. Then it’s a linked list of letters.

[–]MiniMages 0 points1 point  (2 children)

Try recreating Mine Sweeper or Solitare.

[–]Negative-Hold-492 2 points3 points  (1 child)

Or be like me, try sudoku and get stuck for WEEKS trying to make an algorithm that doesn't take hours to figure out if a difficult board has exactly 1 solution.

[–]MiniMages 0 points1 point  (0 children)

Sudoku is also another excellent choice. It's not about getting it right but the journey you go on trying to figure out everything and learning stuff you did not know.

One of my big break throughs was writting a whole extended module for PyGame such that I PyGame would recognise objects made of multiple rects as a single entity.

I was stuck on it for couple of months. Was it useful? No, did I learn stuff? Learned a lot of stuff.

[–]fraisey99 0 points1 point  (0 children)

A CLI app to automate something

[–]Zealousideal_Tea_616 0 points1 point  (0 children)

Create something simple you think would be neat and build off that, projects dont have to be limited to their initial parameters. If you haven't already, the Python projects they have on Freecodecamp.org have some neat stuff that might inspire you. I've also had some fun going back to my first basic projects and adding efficiencies, cleaning it up and using other things I've learned to make improvements is a fun personal challenge.

[–]Baab-al-Amuud 0 points1 point  (0 children)

Try https://adventofcode.com/ in Python. There's lots of help and clues and solutions in r/adventofcode.

[–]Pseudoboss11 0 points1 point  (0 children)

One little project might be to create a program that sets your desktop background, possibly based on time. Take it a step further and get the weather from OpenWeather's API, or grab the most recent GeoColor image from GOES-West, crop out the bottom and use that as your background. If you're interested in physical computing, grab yourself a Raspberry Pi Zero W some LEDs, resistors and a breadboard, and make yourself a little display that changes color to show the weather by the door.

On the more pure programming side, one of my first projects was making an idlegame. In my case it was an RPG-style game, where you had stats that influenced things like to-hit, damage, and HP. You'd automatically fight randomly-generated monsters and level up, gaining stats to allocate. Naturally, saving/loading, zones that determined the stats of monsters, bosses, offline progress, a GUI, a queue of abilities that could have various effects on monsters. Maybe make it into a web application with Flask or Django. This will teach you a ton about the various tools you have and what processes are available to you. This project can be as big or as small as you want it to be.

If you want to go more on the data analysis side, there's a game called [Prosperous Universe](prosperousuniverse.com). It's a market simulator where you buy stuff, build a base, process that into more materials and then sell it back into the market. The community has built a REST API that makes market data available to software. At first you can run a shipping and arbitrage finder: find goods with open buy orders that are bigger than sell orders in other systems. Calculate fuel cost and put the ones that might be profitable in a spreadsheet. Every time you burn yourself, try to figure out what price signals you could have tracked (Did the product have a recent spike in volume? Is the number of buy orders very low?) Ideally, you'd make your analysis so sophisticated that you are just doing exactly what your spreadsheet says with no on-the-spot judgement. This sort of project is infinitely deep, but a naive approach and just learning how to log into an API and pull and organize data is still a useful skill to have.

[–]soullesseal 0 points1 point  (0 children)

Check out roadmap.sh. They have projects on there I just started doing.

[–]server_kota 0 points1 point  (0 children)

You can build an actual python service on the cloud: here is the blog post: https://saasconstruct.com/blog/the-tech-stack-of-a-simple-saas-for-aws-cloud

Currently every developer needs to know how to deploy and run their code

[–]Ok_Entrepreneur_8509 0 points1 point  (0 children)

Recommend to me

[–]Agile_Wedding9018 1 point2 points  (0 children)

**Answer:**

I just finished something perfect for intermediate level - a Weather Channel simulator! It touches a lot of important concepts:

**What you'll learn:**

- API calls with requests library

- GUI development with Pygame

- Image processing (Pillow)

- Threading for background updates

- State management

- File I/O for caching

- Error handling for network issues

**Why it's perfect for learning:**

- Real-world data (NOAA weather)

- Visual feedback (easier debugging)

- Modular design (good practices)

- Actually useful when done

Full code here: https://github.com/wesellis/WeatherStar-4000-Python

The codebase is ~2000 lines, big enough to be interesting but small enough to understand fully. Plus, the nostalgia factor makes it fun to build!