Inspiration

There are endless resources for learning data structures and algorithm. I've been on Leetcode for 5 years. I practice a few problems every week. Somehow, I still feel like there are gaps everywhere in my algorithm knowledge. And sometimes I got stumped at certain problems, only to discover that I had practiced them, but 3 years ago.

That's when I realize that practice more just doesn't cut it. How about utilizing the power of AI agents to help identify your study habit, your weak spots and craft a made-for-you study plan?

What it does

This app has two parts: visualization and study plan generation.

The visualization display all the recommended problems on labuladong (a curated algorithm learning website that I really enjoy). It tells you all the important things about each problem: the difficulty level, whether a problem has been solved, and roughly the last time a problem is solved.

The study plan generation is the work of three-agent system under the hood:

  • Analyst parses the learner's message for important parameters essential for creating a study plan: time frame, study hours per day, study days within each week. If some, or all of them are missing, don't worry. That's the power of agent. Analyst will fetch the learner's Leetcode profile to roughly estimate those important information.
  • Designer takes the Analyst's output and create a rough, mechanically sound study plan. It calls tools to determine learner level, difficulty ratio, core topics to focus on, and divide problems into two categories: essential and extra.
  • Optimizer takes the Analyst's draft plan and rearrange problems based on learner's weakest topics first fetched via tool calling. Optimizer frontloads the study plan with problems from weak topics while still respecting the learner's study capacity.

How we built it

For the visualization part, I used d3. For the agent building, the work is: 20% QwenCloud API (straightforward), 40% prompt engineering (unexpected time sink) and 40% UI and state management to ensure a smooth user experience. AI agents will never be widely adopted if they are not easy to use.

Challenges we ran into

This is not related to agent at all, but figuring out how to fit different information categories (difficulty level, solved or unsolved, last solved timestamp) into a map takes a considerable time. I frantically read through the blogs of my favorite data visualization experts like Shirley, Nadieh Bremer in order to come up with a system that I think makes the most sense without overwhelming viewers.

As for agents, they have undergone significant transformation within the one month that I spent fine-tuning them. My biggest fear is agents stepping on each other's toes or agents doing busywork that contribute nothing. I read my notes during the first week of the process and couldn't recognize what I was doing back then. There are things that you just have to get your hands dirty in order

Accomplishments that we're proud of

Learning visualization with d3.js and AI agents within a span of a few weeks. There's enough room for both. They complement each other.

What we learned

Too much to list:

  • Prompt engineering. I didn't know some minor changes in a prompt construction can lead to a drastic result.
  • When to use programming, and when to use agentic AI. Both excel at different aspects.
  • What to keep, and what to drop. Your work is defined a lot by what you decides to leave out.

What's next for Algo Planner

I'm a believer in less is more. I will take a break and reflect on what else I can do to make it better.

Built With

Share this project:

Updates