Inspiration

Learning something new online often starts with a simple question—but the answer can introduce even more unfamiliar concepts.

For example, someone trying to understand Transformers might immediately encounter terms like Attention, Embeddings, and Vectors. Most AI assistants explain the selected topic, but they assume the reader already understands the foundations.

I wanted to build a tool that behaves more like a teacher than a search engine. Instead of simply answering questions, it should identify the prerequisite concepts needed to understand a topic and allow users to explore them step by step.

That idea became Prism.


What it does

Prism is an AI-powered Chrome extension that transforms passive reading into active learning.

Users can highlight any text on a webpage, right-click, and open Prism to explore the selected concept through multiple learning modes:

  • Explain for concise structured explanations
  • ELI5 for beginner-friendly explanations
  • Quiz for active recall
  • Examples for practical understanding
  • Learning Path to discover and explore prerequisite concepts recursively

The Learning Path is Prism's core feature. Instead of stopping at a single explanation, it identifies the concepts a learner should understand first and allows them to navigate through those prerequisites before returning to the original topic.


How I built it

Prism consists of two main components:

Chrome Extension

  • Manifest V3
  • Context menu integration
  • Background service worker
  • Popup interface
  • Local caching
  • Recursive navigation

Backend

  • FastAPI
  • OpenAI Responses API
  • Modular route and service architecture
  • Structured prompt engineering for different learning modes

Each learning mode uses prompts tailored to its purpose, producing explanations, quizzes, examples, or prerequisite learning paths while maintaining a consistent educational style.

Throughout development, I collaborated with OpenAI Codex to accelerate implementation, iterate on the UI, refine prompts, debug issues, and improve the overall developer workflow.


Challenges

The biggest challenge wasn't generating explanations—it was generating meaningful learning paths.

Early versions produced generic concepts or loosely related ideas that weren't genuinely useful for learning. I spent a significant amount of time refining prompts so the model would identify concrete prerequisite concepts and explain why each one should be learned before the parent topic.

Another challenge was maintaining navigation state while users recursively explored concepts. I wanted the experience to feel like following a guided lesson rather than opening disconnected explanations, so I implemented breadcrumb navigation and state management that lets users move naturally through prerequisite concepts.


What I learned

This project taught me that building AI-powered applications is about much more than calling an API.

I learned how prompt design influences user experience, how to structure AI outputs for different educational goals, and how small UX decisions—like loading states, breadcrumbs, and progressive disclosure—can make an AI application feel much more intuitive.

I also gained hands-on experience building a complete product that combines a Chrome extension, a FastAPI backend, and the OpenAI Responses API into a cohesive learning experience.


What's next for Prism

There are several directions I'd like to explore next:

  • Personalized learning profiles
  • Knowledge graph visualization
  • Spaced repetition for revision
  • Learning progress tracking
  • Support for PDFs and research papers

Ultimately, I'd like Prism to become a learning companion that doesn't just answer questions, but helps people build understanding from the foundations upward.

Built With

Share this project:

Updates