Details

Nicholas Aidan Halim aidanhalim290@gmail.com 1509236 (UniMelb)

Daryl Allen Wiriadi dwir0003@student.monash.edu 34018603 (Monash)

Inspiration

We wanted to help people improve their productivity one step at a time by setting short-term, daily goals. Through simple self-reflection, we hope users feel more motivated to complete their goals and build better habits.

What it does

Momentum lets users rate their day, log daily highlights, and set a goal for the next day—which they reflect on when they return. It tracks streaks, offers a unique lives system visualized as a tree with leaves, and allows users to view their daily history.

How we built it

We built Momentum using React, MUI, React Router, Framer Motion, and Axios on the frontend. The backend was built with Python, FastAPI, Pandas, and Uvicorn to manage journaling data and history.

Challenges we ran into

Debugging and resolving errors—especially in coordinating frontend and backend data handling—took a significant amount of time and energy.

Accomplishments that we're proud of

We’re proud of our streak and life system, represented by a plant with three leaves that fall off when a user misses a day. It’s a fun, gentle way to encourage consistency.

What we learned

We learned how to better handle full-stack coordination, manage React state effectively, and balance feature scope within time limits.

What's next for Momentum

We want to add personalized statistics, like graphs of daily ratings over time, and new pages for tracking things like exercise and calories—bringing even more depth to daily self-reflection.

Installation Guide

Under /showcase-site

Run

npm install @mui/material @emotion/react @emotion/styled

npm install react-router-dom

npm install axios

npm install framer-motion


Under /showcase-site/src/submission-widgets/backend

Run

pip install fastapi

pip install uvicorn

pip install pandas


Running The Code

To execute frontend

enter npm run dev in the terminal under /showcase-site

To execute backend

run main.py

NOTE

If testing is needed, make sure that the csv file /showcase-site/src/submission-widgets/backend/UserLog.csv isn't filled with today's date

Enjoy!

Built With

Share this project:

Updates