Published
- 5 min read
Discord Rotten Tomatoes
Last year, I embarked on creating a Rotten Tomatoes for my Discord server. My friends and I watch many movies and TV shows, and we’ve been leaving reviews and discussing it. At first, we were dropping a link to IMDb and our review score. Creating the review site — Discord Rotten Tomatoes (DRT) — would be an excellent project for starting my nonexistent portfolio. Some of my friends were also thinking about or in the process of getting a CS degree and becoming Software Engineers, so I figured it’d also be an excellent project to do with them as a faux scrum team so they could get experience as developers and the different tools they could use on the job. Discord added the forums about two years ago, and we started using them to organize reviews. The forum channels helped a lot with the organization of the reviews since Discord allowed us to tag the reviews with the genre and discuss them. The idea of DRT fell to the bottom of the backlog as it wasn’t a priority — I’m sure we’ve all been there, whether at work or personally.
But one thing when putting a review up is that I never really liked the arbitrary numbers, e.g., 7/10. I might watch it again. I always felt like my rating never meant anything, didn’t align with others, or that I couldn’t validate my rating — not that I needed validation from others, but what made this a seven and not a six or an eight or a 7.5? Once I had this thought, I didn’t feel like leaving ratings anymore because the numbers meant nothing to me anymore. My seven differs from yours since we rate or prioritize different categories differently. I also found myself not using numbers as a review but saying that certain aspects of the movie or show were good or bad or something along those lines because I felt that was more telling than a number.
After brainstorming, I figured I could make the rating more consistent and repeatable so that it’s not arbitrary. My solution is to use bad, ok, good, and great. Then assign values 0, 1, 2, and 3 to those values. Then, I used ChatGPT to figure out some main categories for ratings. After massaging the prompts, I had five categories: plot, acting, visuals, audio, and pacing. I also wanted to add a weight system so the score would be skewed in a way that better aligned with the viewer. In other words, if a user only cares about the plot, movies with high-scoring plots will be higher rated for the said user, but if someone else doesn’t care about the plot, then its score wouldn’t affect the overall score as much. But after bringing it to the server for feedback, it didn’t seem to warm the hearts of my friends, and we couldn’t come to an agreement, and once again, it was backlogged and deprioritized.
In my life, I go through ebb and flows where I want to gain depth or breadth as a developer and sometimes neither. This usually causes the project to go to the back of the shelf and collect dust. Recently, I’ve felt like I need to gain breadth as a developer to make my resume more appealing to potential employers. My job security looks a bit iffy, so I want to be prepared. I once read that luck is where preparation meets opportunity, and I hope to get lucky.
Over the years, I’ve been seeking mentorship from people much smarter than me in many facets of my life, engineering being one of them. Most recently, I contacted a lead developer I had never worked with and asked for mentorship. I admire the work he does, and the changes he makes align with my values. So I figured, who better than him? This relates to DRT because, after our first meeting, he understood my goals to become a better developer and get to the next level in my career; he told me to find a project I was interested in. I was torn between this project and my resume maker mentioned in my other post. I chose this project because it is full stack and juicy enough to touch multiple application tiers. It is also not overly complicated where executive dysfunction causes me not to start.
I’m in the discovery phase and figured this would be a great thing to keep track of on this blog. I am currently looking into the architecture I want to build this. I want to find a balance between things I know and things I can learn quickly. I aim to learn some of everything without overwhelming myself or the project because something is better than nothing. I’ve been leveraging ChatGPT to help me make decisions when I get stuck. I love using it because if I’m torn between option A and option B, it’ll explain more in-depth what I’m working with, and it either gives me clarity to choose or do more research with my newfound knowledge.
To wrap up this post, I am considering using React for the UI components, Node and Express for the API layer, and MongoDB and Mongoose for the DB layer. Once I make an official decision, I’ll write another post describing each area and why I chose to go with it.
Until next time. ✌🏾