Inspiration

Prequel delivers virtual life skills and entrepreneurship workshops for kids 9-17. The long term vision is to have a platform where kids who want to build real-world projects come to learn the skills needed to take their vision to life. The challenge is helping kids find the right workshop that's most applicable to their goals and interests.

Prequel also delivers programming to a private school in Texas. For this school, kids get to choose from many workshops. Our instructors spend hours figuring out how to "sell" their workshops to kids and get them interested in learning essential life skills. We have learned that if we tie the skills and lessons to a kid's passion and what motivates them, they are more likely to succeed and enjoy whatever it is they are learning.

What it does

Prequel Discovery is a tool for any student, parent, or educator to build a customized curriculum based on their interests and learning goals. The curriculum content comes from our database of 300+ workshops that we have run before.

Students first enter the skills they desire to learn and an interest or goal they currently have. We use ChatGPT to generate a 5-lesson curriculum for them based on the skills they want to learn, then search Prequel's workshop database for workshops similar to those lessons based on the title, description, learning outcomes, theme, and activities. We then take into account the student's stated interest and explain how each workshop can help them go deeper into their interests, such as by building a passion project.

How we built it

Ivy has a Notion table of the ~300 workshops that Prequel offers. We used Pipedream, a no-code solution, to create embeddings from that data and then store it into Pinecone. To interact with the data, we built a Streamlit interface in Hugging Face. We started with the sample project from the "How to ship an AI app when you're non-technical" workshop. We tweaked the prompt and copy from it to generate a curriculum based on the user's input, then used ChatGPT to help us add code to interact with Pinecone. We pull data from our dataset in Pinecone based on the generated curriculum to find the relevant workshops, then feed that back into OpenAI's API to generate a customized learning plan for the user that they'd be excited to take.

Challenges we ran into

  • Trying to build the logic with no-code / low-code solutions. We couldn't find any no-code solutions and tried Respell as a low-code solution, piping our data into a spell that does the OpenAI interaction. It was extremely slow to make requests to, so we used ChatGPT to write code to do the interaction instead
  • Debugging Pinecone -- it interacted in really weird ways with Streamlit and Hugging Face with extremely unhelpful errors
  • The right prompts to generate useful responses that really make each workshop description sound customized to the student's interests

Accomplishments that we're proud of

  • Finding a no-code way of populating the vector database.
  • Building something that is useful to instructors and students at Prequel
  • Crafting a prompt that really connects the user's interests to the curriculum without it sounding repetitive

What we learned

I came in with no knowledge or usage of AI beyond asking ChatGPT questions. My goal was to learn about the limitations of AI, what kind of tools are worth building in-house, and what someone in the non-technical field can do.

I learned about how plug-ins interact with different platforms to read data and take action, how to semantic search my own data via vector databases, how to connect my personal/proprietary data for chatgpt so I can interact with it via chat, and the current limitations of the possible interactions.

What's next for Discover Prequel

This tool will be used by our instructors to find useful workshops to build a new series under a bigger topic and used by the schools we serve by allowing students to choose on-demand workshops.

Built With

  • huggingface
  • notion
  • openai
  • pinecone
  • pipedream
  • python
  • streamlit
Share this project:

Updates