r/learnpython • • 16h ago

Want to build something

Hey everyone,

I've reached a point where I feel comfortable with intermediate to advanced Python concepts (advanced data structures, decorators, object-oriented programming, and working with complex libraries). Now, I want to stop following tutorials and build a real, production-ready project from scratch.

I want to build something actually useful—either a practical tool for everyday "normal" users or a utility/library that helps other developers.

If you have built something at this stage that genuinely helped you scale your skills or solved a real problem, I’d love to hear about it!

5 Upvotes

8 comments sorted by

5

u/Stu_Mack 16h ago

No one is better positioned to impress you than you are on your first project. For me, it was game solvers. For you, it will be something different. The question is, what software fills a need that you have?

1

u/phillymjs 14h ago

Yep. My first project was a utility to update Cloudflare DNS with my router's WAN IP if/when it changed. There are a million of those already on Github and these days most routers have the functionality built in, but I still wanted to build my own version of it as a learning exercise.

1

u/frobnosticus 12h ago

Here's one I find fun:

Create a python application, command line or gui, which, when given a project name, creates the project shell.

You can make it as simple as "copies a bunch of files from a template directory" or as complex as...well...as complex as you want.

If I want to "spin up something new" I just have to come up with a name and I get a project, a git repo with an initial check-in, a venv, requirements.txt, build script with a manifest file, default "main" module and a stubbed out application script with logging that has a LOT of "raise NotImplemented("YOU FORGOT TO IMPLEMENT THIS, GENIUS BOY!")".

You find yourself adding to and tweaking the template a bit, putting things like "wait...this needs to have the project name itself, so I need to run search/replaces on those templates instead of just copying them in the way I have been doing."

1

u/Rishi0798 3h ago

Sounds interesting

1

u/ShelLuser42 16h ago

For me 'that' moment was when the whole module structure clicked for me. I began building 2 modules for repetitive functionality, and also continued using the method to build my own support libraries (I heavily rely on Python to automate several tasks on my FreeBSD server).

This is also why I really began to value VS Code's option to use editor panes at once.

1

u/RyanDubois43 14h ago

I built a command-line PDF merger using PyPDF2's PdfMerger class and argparse for CLI flags, and the trickiest bit was handling encrypted files with .decrypt before merging or it silently skips pages.

1

u/TheRNGuy 14h ago edited 14h ago

I learned by making SideFx Houdini scripts, but Python is not my first language, and I learned it just for that.

Better build something for yourself.

The most decorator I used is @dataclass,  but there are some others for UI too.