Inspiration

The inspiration for this project comes from a saying students sometimes use to express their frustration over being unable to understand a particular topic: "I don't even know what I don't know." Knowing where to start is often the most challenging part when trying to learn a new skill or understand a new topic, so I decided my goal would be to create a tool to help people make a roadmap for their learning.

What it does

How it works is pretty simple. Input a topic, and the model, powered by AzureML, breaks it down into subtopics. You can then perform this topic breakdown on subsequent subtopics to extend the graph to a point you're comfortable starting from. At any time, you can click on a topic and get information on how it relates to the previous topic, as well as links to learning resources.

How we built it

This project was built using NextJS for the front-end framework as well as the react-dag-editor to construct the graph. The app is built almost entirely with Typescript, and all data generated by the models is stored locally, so it's easy to pick up right where you left off. Two models were made using AzureML's prompt flow, one for breaking down topics and another for generating info on how topics relate using RAG with Wikipedia to ground answers. The models are hosted to real-time endpoints for use in the app.

Challenges we ran into

A major challenge for me was using the react-dag-editor. It's not a super well-known package and doesn't have much documentation, so to learn how to use it in the ways I wanted to, I had to dive into the source code and piece together how everything works. This was actually a very rewarding experience and may become my preferred way to learn a package from now on.

What we learned

I learned so much, not only about AzureML but also about NextJS 14 and Typescript as a whole. This is easily the largest project I've done using only Typescript, and I definitely plan on using it more in the future.

What's next for Pollyfill

Lots of polish! The app is a bit rough around the edges and would greatly benefit from UI features like skeleton loaders and better node formatting. The models also definitely need some more fine-tuning to get rid of pesky bugs.

Built With

Share this project:

Updates