What?
Petrs are themed stickers loosely based on the school's mascot, Peter the Anteater. The first sticker drops were run by a single student who called himself Petr the Anteatr who had created a collection of seasonal stickers along with the original Petr design that has been widely circulated. As time has gone on many other students wanted their chance to be the next Petr. Students take the basic design and add costumes from books, anime, and movies to create new Petr designs. Some go so far as to completely redesign Petr into their own work of art. Some of these get official stickers while others remain digital.
UCI has built a tradition around impromptu Petr drops that seems to be unparalleled in the levels of enthusiasm seen from students running and tumbling across campus for the chance to get a single sticker. The date that each drop will occur is usually hinted at on a combination of multiple social media sites like Reddit, Instagram, and Discord while the location of each drop is kept secret up until the final minutes before all hell breaks loose.
Unlike many other school events, Petr drops are fully funded by the students themselves. Many design and pay to manufacture their stickers with their own money or crowd fund drops from other students. In one instance a student bought some sticker manufacturing equipment and now makes stickers for other students at a discounted rate.
Why?
Suffice it to say, there are a lot of Petr stickers that have been created over the years. This was the original intent of this project, to catalog every Petr out there. I had initially reached out to creators individually to get their designs and post them to the archive but that quickly became infeasible, there are so many creators with so many designs with new ones popping up every week.
I turned my attention to transferring some of those responsibilities to code. Right now an account system is being built to allow creators to post their own designs. This can help creators gauge interest in a particular design to see if it's worth making into physical stickers. For those who only want to browse, I'm working on adding searching, sorting, and liking functionality (some of these are already implemented in the alpha version). After that I have a couple final features planned that I think are exciting.
How?
The Petr Archive website was designed around the Next.js framework for the frontend and a selfhosted version of Strapi with Cloudinary to operate as a CMS and image host. I had initially intended to write my own backend with FastAPI but decided against it since I would be storing potentially private information like email addresses.
For the UI library I decided on ChakraUI, I've found that their styled elements are very easy to use and look great out of the box. That being said, I likely wont be using them again unless the project needs clean looking elements since it forces client side rendering which is counterproductive to many of the innovations Next.js has made.
You can visit PetrArchive here or look at the alpha version here.