💡 Inspiration

As incoming university students currently serving in Singapore's national service, we found that many of our army mates feel lost and unmotivated to spend their free time in army productively. Many cite the unconducive environment and the lack of purpose during these two years. As a result, they come out the same as before their enlistment, essentially wasting two years of their lives. As such, the idea for JumpStarter was born. We want to "jump start" people's lives by making it easy to plan SMART (Specific, Measurable, Achievable, Relevant and Timely) goals and track them.

What it does

📝 Goal planning:

Users supply just a few prompts to the goal-planner bot to set a SMART goal. The bot will then assist them in planning an achievable timeline for users to advance towards their goal. The user is free to customise the phases and daily tasks generated by the bot.

✅ Goal tracking:

Uncompleted daily tasks up to the current date are compiled into an interactive to-do list to show users what they have to do next.

🖥️ How we built it

This is the first time we built a web application, so our goal was to learn modern and relevant web-development frameworks.

📲 Frontend:

  • Next.js deployed on Vercel
  • React with Typescript
    • Material UI (MUI) and MUI-X Components
    • FullCalendar
  • Tailwind CSS

⚙️ Backend:

  • FastAPI deployed on Railway
  • PostgreSQL with SQLAlchemy and Pydantic schemas
  • Gemini's LLM API

🛑 Challenges we ran into

Scale:

  • This is the first time we are creating a project of this scale. (everyone has to start somewhere, right?) As we were especially unfamiliar with Typescript and Next.js (compared to Python), building and maintaing the frontend was especially difficult.

Motivation:

  • We ourselves created this app while in our army camp and experienced periods of motivation loss.

Interface:

  • We had to create a user interface which was simple without compromising on functionality and effectiveness.

Limits:

  • The specific API model we used from Gemini had its usage limits drastically reduced while we were working on the project. (reddit) We've alleviated the issue by using a few api keys (less than 10) to spread out the LLM usage and prevent rate-limits. As such, the app may not be able to handle huge timeline requests in its current state.

🚀 Accomplishments that we're proud of

  • We deployed a fully functional web app accessible to the public.
  • We managed to learn many modern frontend and backend frameworks which can be used in future projects.
  • We created a tool that addresses a real human challenge in turning motivation and intention into consistent action.
  • We managed to turn our abstract idea about productivity into a tangible solution having the potential to help people achieve their goals.
  • Despite the difficulties from collaboration such as being unable to work together physically and each having different ideas for the project, we always managed to come to a compromise and learnt ways to integrate our changes to the codebase smoothly.

📖 What we learned

  • Personal accountability improves when the goals are specific, measurable, and small enough to be actionable while being connected to individual values.
  • Designing the app meant understanding human psychology as much as the technology and frameworks involved; how reminders, progress visualisation and gamification can induce positive behaviour.
  • Listening to each other's perspectives improved our communication and our direction for the app.

➡️ What's next for JumpStarter

As this is the first time we are using the web development frameworks we used, we believe that the JumpStarter's design is slightly raw. We hope that people like the idea of JumpStarter, and are willing to give suggestions to make the app more robust. Feel free to reach out to us!

Share this project:

Updates