The Problem: ICS students often spend more time than necessary on their homework and struggle to learn the material as effectively as possible, primarily because they study in isolation and don’t take advantage of the benefits offered by face-to-face study groups with peer mentors.
The Solution: Fourward Thinking is an application designed for UHM ICS students to easily organize face-to-face study groups focused on specific courses, homework assignments, or project topics.
When it came time to form groups for our final project, I was well acquainted with my two other tablemates in my 6:00pm ICS class. We decided that we all wanted to work together. What was originally a group of four, turned into a group of three when we discovered that one of our group mates was MIA since early October (it was late November at the time). That said, we split up the work accordingly and tried to plan a workload for three people instead of four.
We divided the workload using Issue-Driven Project Management (IDPM), an iterative approach to software development that focuses on flexibility, collaboration, and incremental delivery. Over the course of three milestones (M1, M2, and M3), we followed IDPM guidelines to divide the workload into manageable tasks.
Those tasks were listed as issues within the project and looked something like this…
My responsibilities on this project encompassed creating initial designs for the pages I would be working on (milestone 1), creating the HTML mockups of those pages (milestone 2), and implementing the back-end for those pages (milestone 3). The pages I was responsible for were the landing page, the calendar page, the courses page, and the game mechanics page. Below are images of the pages I worked on from our actual project, deployed to vercel.
Landing Page: Overview of the app, encourages users to search for active study sessions.

Calendar Page: Displays upcoming and past study sessions. Users can filter by course, topic, and time. Shows both group study sessions and solo sessions.

Courses Page: Where users can view a list of all available ICS courses, as well as those who are taking or have taken said courses.

Game Mechanics Page: Displays the point or level system, solo and group rankings, and details of available rewards.

I never ended up getting to finish that last page. We ended up encountering several issues, actually. By the time the second milestone came around, we hadn’t finished much of the back-end functionality that we were hoping to. This could be complimented to procrastination and setting goals that were too large, which led to more procrastination… you get the idea.
We had a bunch of functionality to code into our web app, which is where we encountered our second problem. Up until this point, we were all working on individual “small” projects (our pages). This resulted in difficulty integrating information into the system and making it seamless between pages.
The final problem we encountered was one of our three teammates going MIA after informing us that he was off-island for Thanksgiving break. By the time that my remaining teammate and I had realized he might not be coming back, milestone 3 (the finished project) was less than a week out. This was the final nail in the coffin. What was originally a project designed for a group of 4-6 people was divided amongst three and dropped on to two. My teammate and I–Fourward Thinking, now Twoward Thinking–decided that the project simply could not be done in the allotted time frame.
That said, we will be continuing development on Fourward Thinking because we both want to see it through to the end. If and when the project is completed, I will update this essay.
This project taught me a lot. I was challenged to apply all of the concepts I had learned throughout my time in ICS 314. This included coding in different languages (like HTML5, JavaScript, Typescript, and CSS), as well as working with different IDEs and databases (like VSCode, PostgreSQL, and Vercel). I learned how to make a stressful task manageable with IDPM guidelines, as well as how to communicate with teammates and use GitHub as a medium for completing a project with others. The knowledge and experience this class has given me is invaluable. Even if I end up working a job outside of the computer science field, I am confident I will be able to take these lessons and apply them wherever I go.
If you’re interested in seeing the source code for this project, you can find it here.