RateMyTools - Educational Tool Review Platform

Project Overview

RateMyTools is a community-driven review platform designed specifically for University of Hawaii students to rate and discover educational tools like Canvas, GitHub, VS Code, and more. The application allows students to share their experiences with various tools, helping future students make informed decisions about which platforms will best support their academic success.

The platform features school-specific tool recommendations, advanced search capabilities, tool comparison functionality, and AI-powered content moderation to maintain a safe and constructive community environment.

Live Site: https://rate-my-tools-sc.vercel.app
GitHub Repository: https://github.com/kadekomeya/RateMyTools_SC

My Contributions

As a core developer on this project, I was responsible for several critical features:

Authentication System

Search & Discovery Features

Database Architecture

AI Content Moderation

UI/UX Enhancements

Technical Challenges & Solutions

One of the biggest challenges was managing team synchronization when multiple developers were working with different database instances. Initially, team members were seeing different reviews because each person had configured their own separate Neon PostgreSQL database. I resolved this by:

  1. Identifying the root cause (different DATABASE_URL values in .env.local)
  2. Coordinating with the team to share a single database connection
  3. Documenting the proper setup process for new team members
  4. Creating a troubleshooting guide for common Prisma client issues

Another significant challenge was implementing the content moderation system. The initial implementation was blocking review creation entirely, when it should have been allowing reviews to be created with a “PENDING” status. I debugged this by:

  1. Adding comprehensive logging to track moderation flow
  2. Updating API responses to inform users when their reviews were flagged
  3. Filtering out pending/rejected reviews from public-facing endpoints
  4. Creating clear user feedback messages explaining moderation decisions

What I Learned

This project significantly expanded my full-stack development skills:

Backend Development:

Frontend Development:

Team Collaboration:

DevOps & Deployment:

AI Integration:

Key Features

Screenshots

Reflection

Working on RateMyTools taught me that software engineering extends far beyond just writing code. It requires careful planning, clear communication, and systematic problem-solving. When we encountered the database synchronization issue, I learned the importance of documenting setup procedures and creating reproducible development environments.

The content moderation feature challenged me to think about user experience from both technical and ethical perspectives. Simply blocking “bad” content isn’t enough—users deserve clear feedback about why their content was flagged and how to improve it. This experience taught me to design systems that are both effective and user-friendly.

Most importantly, this project reinforced that the best solutions often come from collaboration. When stuck on the compare page routing conflict, discussing the problem with teammates led us to identify the duplicate route folders. Regular code reviews and pair programming sessions helped us maintain code quality and catch bugs early.

This project has prepared me well for professional software development, giving me practical experience with modern web technologies, team collaboration tools, and the complete software development lifecycle from planning to deployment.

Project Team: Joseph Creollo, Kade Komeya, Henry Korver, Justin Iwata, Chase Tom
Course: ICS 314 - Software Engineering, Fall 2024
GitHub Organization: https://github.com/kadekomeya/RateMyTools_SC
My Contributions: https://github.com/kadekomeya/RateMyTools_SC/commits?author=jcreollo