Still 0% left undiscovered!
In December 2021, a user named minimaxir posted a collection of Pokemon-style portraits to reddit. I had a blast flipping through those with friends— during a time which we all needed that.
Months later when he published a Google Colab Notebook that allowed users to generate their own, I jumped at the chance for more. After paying for premium Google Colab services and backgrounding the notebook for twenty-four hours I had my very own folder of roughly three-thousand new portraits.
But the original fun did not lie in browsing them by myself. Being a web developer, I decided to vomit up this little application to let anyone in the world sift through them and share their thoughts.
As you flip through the images you are able to vote whether you like or dislike them. Internally these are referred to as ups and downs, but in the parlance of the website they are heart votes and trash votes.
The most basic tenant of the site is “one vote per user per image per day”.
At the start of each new day (00:00:00 UTC) votes become set in stone. Users may vote again. If you really want to, you are free to visit the site every day and re-heart your favorites.
Views, ups, and downs are all tracked and reported live. Everything else is cached in some manner. Leaderboards are recalculated every four minutes. Heatmaps are recalculated every ten minutes.
It's a tiny object-oriented PHP application hosted with Nginx and PHP-FPM. The data is stored entirely in Redis. All of the images are served out of a Digital Ocean Spaces content-delivery network. I've also put an HAProxy load-balancer into the mix just in case I want to scale wider later.
I have published a cost breakdown with a few more details on what runs this site. This transparency will make me feel less icky running ads or asking for donations later if needs be.
Thanks for visiting and hopefully enjoying.
I don't have a soundcloud, but also consider looking at some very good images that are not generated by machine learning.