As we were brainstorming ideas for our project, we realized that the club onboarding experience at Cal Poly was lacking in various ways. We lamented that the official club dashboard, Cal Poly Now, was lacking in information relevant to those trying to discover new clubs to join. It was also often difficult to search for what you wanted, and important club keywords often didn’t even bring up clubs. As well, due to the large variety of clubs, all weighted equally, it is challenging to decipher which clubs are serious and which ones are just for fun, important information when deciding what to join. The only way to find this out was going to the club fair in the few times per year it happens, or attending club meetings. We all have very busy lives as college students, after all, and not everyone has the time to take these steps and to vet clubs for themselves. This is why we created ClubRate.
ClubRate makes clubs at Cal Poly both accessible and transparent. We all may or may have not been in situations where we see a club at a club fair, talk to the board members, and create a broad idea of what the club is, commitment level, and overall inclusiveness. With ClubRate we make all of this information just a few clicks away, where you can see both what the club advertise themselves as, along with real experiences and thoughts from members. It also allows you to search for clubs by category or keyword, making finding clubs easier. This fixes a major problem with other club hubs like Cal Poly Now, which for example when searching things like “Computer Science” or “programming” it does not return any clubs such as CodeBox, the biggest computer science club on campus. With our search, you can search by club name, major, description, or a variety of different tags and categories that we created to make the finding of clubs easier. Reviews are also anonymous so that clubs cannot punish their members for leaving a bad review.
The primary technologies we used were React + Vite for the frontend, Supabase for the database and backend, and Vercel to deploy. Codex agents were used heavily to build the front-end, with tweaks and edits made manually so that it matched our product vision. We also used GIt and GitHub to ship code and collaborate with one another.
Some Challenges we ran into were some technical problems that stopped us from properly working. For example we were repeatedly met with a white screen that stopped from seeing our changes in real time and ultimately ended up being a quick fix in our program. Another challenge we faced was how to prevent anyone from creating dozens of fake clubs to flood our system. To combat this, we implemented a club approval system where admins need to approve a club before it shows up for anyone to view.
One of the biggest accomplishments that we are proud of is that we were able to make a fullstack project and deploy it within a day. This is something that is universal across all teams that participated in this Hackathon and it is something to be prou of. We are also proud about working with technologies we never had before; none of us had used Supabase or Vercel, and we were able to figure out how to use and deploy on both quickly
Throughout this project, we learned how to use industry-standard platforms such as Supabase and Vercel for database management and deployment. We also gained a greater understanding of using tools such as Codex the right way to build software products, something ever important for early professionals in the industry to have in their toolkit. We also learned to have top-notch communication with one another and to collaborate in a team setting. We split the work and each did our part to make ClubRate from an idea into a deployed web application. At times, we had conflicts with respect to design choices, but we were able to overcome them, reach compromises, and build what we believe was the best version given our circumstances, skill levels, and time.
If we had more time outside of the hackathon, there are a few features we would definitely want to add. First, we would want to add rate limiting and authentication to creating reviews, so that users could not add unlimited reviews to the same club. Also, we would use authentication to allow users to more easily update their club description and information. Finally, we would add an admin page in order to make the approval of creating clubs easier, and would make a report system where you could report untrue or misleading reviews. Another thing we would add is a unique URL for each page. This would allow you to use chrome’s default back arrows and also send people links to a specific club.
Built With
- css
- html
- javascript
- react
- supabase
- typescript
- vite
Log in or sign up for Devpost to join the conversation.