Inspiration

We all say “I want to learn X,” but life gets noisy and motivation fades. Goaly turns that vague intention into bite-sized, verified, daily progress—like having a patient coach who remembers your pace, adapts to your style, and actually checks your work (including video) so you can’t just “tap complete” and forget it.

What it does

Goaly is a goal-to-skills companion that:

Onboards with a convo: Ask clarifying questions, infer learning style, and generate a 5–7 milestone roadmap.

Delivers a daily task at 9am, either resurfacing an unfinished one or creating a new, tailored task for the next milestone.

Verifies completion via text or app upload (code, quiz, reflection, or video for accountability). AI analyzes the submission and gives targeted feedback.

Coaches long-term: Tracks streaks, milestone completion, and weak spots; adjusts difficulty/resources automatically.

How we built it

Frontend/App: React Native (Expo) for the mobile client; light web dashboard for history & feedback.

Conversation layer (“poke”): SMS/WhatsApp integration + in-app chat. Handles the Phase 1–4 dialog and calls backend tools.

Backend (MCP tools over routes) We converted REST routes into MCP tools so any client (app, SMS bot, CLI) can call the same actions:

create_user, update_user

create_goal, update_goal

get_context

create_task, update_milestone

Task & verification engine:

LLM to generate milestone-aligned daily tasks with the right verification type.

AI evaluation for submissions:

Code: run-safe checks + static feedback.

Reflection/quiz: rubric scoring.

Video: pose/audio/transcript analysis to gauge understanding/technique and detect confusion or gaps.

Storage & infra:

Postgres for users/goals/milestones/tasks.

Object storage (e.g., S3/R2) for video uploads.

Queue/cron for 9am triggers & background scoring.

Personalization:

Per-user profile (learning style, pace) + rolling weak-point model that weights future tasks & resources.

Challenges we ran into

Verification without friction: letting users reply “done” by text while still gathering enough evidence (code, quiz, or video).

Reliable AI scoring across formats (code, text, and video) with consistent rubrics and clear feedback.

Stateful coaching: keeping a compact context that scales (last tasks, milestone status, style, weak-points) and stays fast.

MCP conversion: refactoring route-based logic into clean, permissioned MCP tools the chat layer can call safely.

Accomplishments that we're proud of

A complete, closed loop from intention → roadmap → daily tasks → verified learning → adaptive next steps.

Video accountability that actually improves recommendations (resources shift toward your weak-points).

Clean MCP tool surface that makes the system omni-channel (app, SMS, future Slack/Discord).

What we learned

Daily nudges work only if they’re contextual (“You’ve done 12/15 tasks; next is API auth—3 steps, 25 min”).

Verification needs to be varied (some days quiz, some days code, some days quick video) to keep engagement high.

A small, well-designed tool API (MCP) beats a tangle of ad-hoc endpoints when multiple clients need the same brain.

What’s next for Goaly

Deeper video AI: better posture/gesture/voice confidence metrics; auto-generated micro-drills from mistakes.

Resource marketplaces: match weak-points to curated exercises & short clips; plug in partner content.

Team/mentor mode: share progress, request human feedback on flagged “stuck” moments.

Streak science: adaptive reminders that balance pressure vs. burnout.

Open tool spec: let community add new verification types as MCP tools.

Built With

  • expogo
  • fastapi
  • poke
  • python
  • reactnative
Share this project:

Updates