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-agentover 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
Log in or sign up for Devpost to join the conversation.