Finishing a Recommendation Assignment (and Learning a Lot Along the Way)
This project started as a Codecademy Computer Science assignment and slowly turned into something much bigger than it was ever meant to be.
The original idea was fairly simple with some prerequisites: build a recommendation system that searches through a library (of whichever data structure) and suggests “whatever” based on some topic and using single character input from the user. Getting the single character input working took some faffing around but it worked and that’s probably where I should have stopped… But I didn’t. There were version after version then came the overbuild, till I ended up with "It's your choice", either enter once character or enter more or the the whole damn word your looking for.
Scope Creep, the Final Boss
There was an initial plan… I swear to God there was.
After that, planning went out the window as I kept refining, tweaking and sometimes breaking parts of the project. Some changes were improvements, others were “this seems pretty cool I might as well…” decisions that added complexity fast.
On top of that, progress was slow because of:
• Full-time work
• Being genuinely overworked at times
• Long gaps between coding sessions
So yes, this project took way longer than it should have, but I also learned far more than I would have if I just finished the assignment.
My Game Recommendation Application

Here is the GitHub link to my assignment:
https://github.com/Exceria33/GameRecommender
Learning by Doing (Not Perfection)
The goal was never to build something perfect.
It was about learning by actually building something end-to-end (and to a degree of at least working).
Through this project I learned a lot about:
• Why planning matters (and what happens when you abandon it)
• How small features can snowball into big design decisions and completely breaking other features
• Refactoring code that technically works but doesn’t feel right or just straight redundant
• Letting a project evolve while still eventually bringing it to completion
Even though it’s an assignment, the project ended up being refined far beyond the original requirements, curiosity kept pulling it forward added with every run I was not completely satisfied with how I experienced the application overall. In essence I wanted to treat this application as the same as something you would send to a client, I needed to be satisfied or even proud of it.
Final Thoughts
This is now a finished project (if I don’t say it’s finished now then I will never!!), and I’m glad I stuck with it — even when motivation dipped and scope creep took over. It’s a solid reminder that learning projects don’t need to be perfect or fast to be valuable.
Sometimes the real win is simply finishing, understanding why things work, and knowing what you’d do differently next time.
And now.. on to the next one. Thank you for reading.
Top comments (0)