Inspiration

What it does

About ProjectScout

ProjectScout was born from a very familiar pain: every time I wanted to learn a new tech stack, I ended up wasting hours manually searching GitHub for “good” projects, opening dozens of tabs, and still not knowing which repo was right for my level, my timeline, or my goals. I wanted an AI assistant that feels like a mentor: it asks smart questions, understands what I’m trying to achieve, and then scouts the right projects for me.

What I built

ProjectScout is a dark-mode web app where developers and students can:

  • Chat with an AI agent about what they want to learn (e.g., “Python projects with PyTorch”, “React + Node portfolio project”).
  • Answer follow-up questions about difficulty, time budget, and tech stack.
  • Get curated project suggestions with tags (stack, difficulty, time) and a step-by-step learning plan.
  • Automatically save every conversation and run to a Run History, so they can reopen and continue where they left off.

Under the hood:

  • I used the AGI SDK (agi-inc/agisdk) to define and run the agent logic.
  • A small FastAPI backend exposes /run-agent over HTTP, wrapped with CORS and served via ngrok.
  • The frontend is built with Lovable, using its component system plus Supabase Auth for sign-in, sign-up, and password reset.
  • Chat sessions and runs are stored and then rendered as a structured Run History, with the ability to reopen past chats.

What I learned

This project taught me how to:

  • Design a vertical agent that doesn’t just answer once, but runs a dialogue to fill in “slots” (goal, difficulty, time, stack).
  • Connect an AGI SDK agent to a no-code/low-code frontend builder (Lovable) and still keep clean, API-driven architecture.
  • Manage end-to-end flows: auth → chat → agent call → history → re-run, all while keeping the UX simple and “lovable”.

Challenges & how I solved them

  • Schema mismatches & 422 errors: Getting the FastAPI models to accept both chat requests and optional fields (like url) required careful Pydantic design and debugging.
  • Long-running agent calls: Since the browser agent can take 30+ seconds, I had to design clear loading states and status messages so the UI never feels “stuck”.
  • State syncing between Chat and Run History: Ensuring every chat automatically becomes a well-named history entry, and can be restored later, pushed me to think more like a product engineer than just a coder.

In the end, ProjectScout significantly reduces the time and effort needed to find the “right” project on GitHub and turns vague learning goals into concrete, AI-driven roadmaps that users can actually build and ship.

Built With

  • agi-api
  • lovable
  • react
  • superbase
Share this project:

Updates