Horizon
A shared study space where AI answers come from your own course materials, cited to the page, and where classmates and TAs can see and check them.
- Role
- Founder · built the full stack
- When
- 2026
- Stack
- React · FastAPI · Postgres + pgvector · OpenAI · Azure
Students already ask AI. Nobody can see the answers.
In a 300-person lecture, most confusion never becomes a question. Students don’t want to look slow in front of the room, office hours are at the wrong time, and so they ask a chatbot instead, alone.
That answer comes from the open internet, not the course. It might be wrong, nobody checks it, and the professor never learns that half the class was stuck on the same idea.
Make the AI conversation shared, grounded and checkable
Banning chatbots doesn’t work, and a better private chatbot keeps the same blind spots. The fix is structural: put the AI inside the course, where answers come from the course’s own materials and the conversation is visible to the people who can correct it.
What happens to one question
- 1A question in the group chatstudentAsked in the shared study-group feed, optionally anonymous, or forked into a private space to dig deeper.
- 2Embed itsystemOpenAI
text-embedding-3-smallturns the question into a 1536-d vector. - 3Search only this course’s materialssystempgvector cosine search over the chunks of documents active in this session, top 20. If the student points at one file (“this homework”), that file is searched first and the rest fill in behind it.
- 4Fit the context budgetsystemChunks are taken in relevance order until a token budget runs out, so long PDFs can’t crowd out the best passage.
- 5Answer with numbered citationsaiGPT-4o sees the chunks numbered [1], [2]… and must cite them inline. Each citation is saved with its chunk and page, so clicking it opens the exact page of the professor’s PDF.
- 6Classmates verifyclassAnyone in the group can vote on an answer or comment on it. Wrong answers surface during the term, not on course evaluations.
- 7Instructors see the patterninstructorA report view groups questions by topic and shows answer-quality votes, so a TA knows what to re-teach on Monday.
Under the hood: a FastAPI backend on Postgres with pgvector, with documents, chunks, questions, answers and citations as first-class tables, so every answer can be traced to its sources. The frontend is React, and the whole thing deploys to Azure.
How I’m measuring it
Two kinds of evidence matter: is the AI grounded, and do students actually use the shared feed? These are the metrics I’m tracking. Values tagged prelim. are placeholders, not yet measured, and will be replaced with real numbers.
What’s next
- A department pilot: a few courses, one term, measured on whether students use the shared feed.
- LMS integration (LTI 1.3, Canvas roster sync), so instructors don’t invite 400 students by hand.
- Topic-level reports that tell a TA what to re-teach before the exam, not after.
Teaching, building for students, or just curious about grounded RAG? Let’s talk.