Manan Arora
← All projectsProduct · AI for learning

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
Product walkthrough
Real outputThe real product: a study group working on SVD homework. Answers cite the lecture notes and the homework PDF; a student forks a thread into a private space to go deeper.
01

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.

48%of undergrads in large science lectures never ask a question all termNadile et al., PLOS ONE, 2021
6–10×more questions when students could ask anonymouslyPerry Samson’s backchannel, U-M lectures
86%of students already use AI in their studiesDigital Education Council, 2024
02

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.

Private chatbot
Answers from the open web
Every student asks alone, in private
Nobody checks the answer
Instructors can’t see any of it
Horizon
Answers from your course’s own materials, cited to the page
One shared feed: a confusion asked once helps the whole group
Classmates vote and comment; shaky answers get flagged
TAs see which topics are confusing, while there’s still time
03

What happens to one question

  1. 1
    A question in the group chatstudent
    Asked in the shared study-group feed, optionally anonymous, or forked into a private space to dig deeper.
  2. 2
    Embed itsystem
    OpenAI text-embedding-3-small turns the question into a 1536-d vector.
  3. 3
    Search only this course’s materialssystem
    pgvector 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.
  4. 4
    Fit the context budgetsystem
    Chunks are taken in relevance order until a token budget runs out, so long PDFs can’t crowd out the best passage.
  5. 5
    Answer with numbered citationsai
    GPT-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.
  6. 6
    Classmates verifyclass
    Anyone in the group can vote on an answer or comment on it. Wrong answers surface during the term, not on course evaluations.
  7. 7
    Instructors see the patterninstructor
    A 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.

04

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.

0.91prelim.retrieval hit@5to be measured: share of held-out course questions whose answer passage is in the top 5 retrieved chunks
94%prelim.answer sentences grounded in a cited sourceto be measured: LLM-judge check of each sentence against the chunks it cites
1.8 sprelim.median time to answer (p95: 3.6 s)to be measured: question submitted to answer shown
38%prelim.answers with a peer verification voteto be measured: the health metric: are classmates checking the AI?
2.4prelim.questions per student per sessionto be measured: across active study groups over a term
05

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.