Inspiration

It’s really easy to set a big goal, but much harder to know what steps to take each day to reach it. I often found myself writing vague goals like “do well on an exam” or “work out more” and then not knowing how to break them down. I wanted to make a tool that could suggest tasks for me and give a simple hint on which ones might be harder or easier, so I could plan my time better.

What it does

  • Lets you type in a goal in plain language.
  • Suggests a list of tasks related to that goal.
  • Saves those tasks in Firestore so they don’t disappear.
  • Runs them through a small model that gives each task a “difficulty hint.”
  • Shows a badge for each task: Likely, 50-50, Tough.

Right now, it’s just about suggesting and scoring tasks, but it is set up to turn goals into daily study, workout, or project plans.

Challenges I ran into

  • Making sure the model’s input format always matched the training data.
  • Getting the task generator to return clean JSON instead of messy text.
  • Figuring out how much to build for a first version and not trying to do everything at once.

Accomplishments that I am proud of

  • Built a working full-stack project on my own.
  • Connected a web app, database, and Python service together for the first time.
  • Got task suggestions and task predictions to work in one flow.
  • Made something flexible enough to use for school, fitness, reading, or personal projects.

What I learned

  • How to connect Next.js with Firebase for storing data.
  • How to serve a machine learning model using FastAPI.
  • How to export data from Firestore and reuse it in training.
  • The importance of starting small with an MVP before trying to add advanced feature

What's next for PrepTrack AI

  • Add Google login/logout so tasks are tied to accounts.
  • Break goals into daily or weekly schedules instead of just showing a task list.
  • Reschedule tasks automatically if you fall behind.
  • Sync tasks with Google Calendar.
  • Improve predictions by learning from each user’s history.
  • Add progress tracking and a simple dashboard for stats.
  • Make the UI cleaner and more mobile-friendly.

Built With

  • app-router)
  • csv-export-scripts-(typescript/node.js)-task-suggestions:-openai-api-(for-generating-task-lists)-other-tools:-firebase-admin-sdk
  • fastapi
  • frontend:-next.js-(react
  • git
  • github
  • joblib
  • scikit-learn
  • tailwindcss-backend-app:-next.js-api-routes-database:-firebase-firestore-prediction-service:-python
  • uvicorn-data-handling:-pandas
Share this project:

Updates