This is a great question @namastegeek. I think what you’re interested in is building a portfolio for your work:
First I would recommend reading Prof. Matt Might’s blog post “What every computer science major should know”. He specifically mentions:
“A portfolio could be as simple as a personal blog, with a post for each project or accomplishment. A better portfolio would include per-project pages, and publicly browsable code (hosted perhaps on github or Google code).”
I’ll show a couple examples of things I’ve done. I don’t think any of them are perfect solutions, but hopefully they can serve as some inspiration for what you might do!
If you’ve done a fairly substantial project (and perhaps want to discuss aspects of the code, technical documentation, graphics, or something else), @UmairHabib made a great point that you can write a blog post about it.
My blog has a mix of projects I’ve done for classes and general things I’ve done in my free time. You might like doing something similar for individual class projects: each project could be an entry in your blog.
For example, one of my recent posts was a short overview of using off-the-shelf Arduino parts as a window into evaluating a person’s local heat environment. It opens with a brief overview to situate the reader, describes how the device was built, describes some assumptions, shows figures, then points out some limitations/future work.
A resume or CV entry
If you have an online Resume/CV, you might add a short entry pointing to projects.
I point to open source projects I’ve contributed to, describing them as either “changes I’ve proposed”, “code review I’ve provided”, or “community questions I’ve helped resolve.”
These entries can be made fairly concise, so they lack the detail displayed in something like a blog post. I think should compliment other ways you highlight your work, rather than a method of its own.
A GitHub Repository
GitHub repositories are great for hosting code in a single place. But whether they should stand on their own is a little more controversial.
Relevant tweet from Emily Bender:
I maintain a single repository for “Extracirricular Classes.” And sometimes link to specific places in the repository.
I think this is a compromise on your point about how “it… seems messy and disorganized”, but this has a similar problem to Resume/CV items. GitHub repositories are good for hosting work, but imperfect for showing everything that a web page affords you.