It is Tuesday. You have a problem set due, a reading you half-skimmed, and a question about the difference between two ideas your professor treated as obvious. You could search for it and get an answer written for somebody else's course, in somebody else's notation, referencing a textbook you do not own. You could post in the group chat and wait. Or you could ask something that has already read your course.
General chatbots are good at explaining concepts and bad at knowing your situation. They do not know your professor said the midterm covers chapters one through six and not seven. They do not know your essay moved from the 14th to the 21st. Ask one when your final is and it will either decline or, worse, produce a date that looks right.
Semora's AI Tutor is the same class of model doing a narrower job. Before it ever sees your question, the server assembles a packet of your real course material (what your syllabus scan pulled out, what you are currently tracking as due, the grades on your course screen, and the text of the lecture notes you uploaded) and instructs the model to answer from that first. It is part of Pro, at $4.99 per month or $29.99 per year.
What the tutor is handed before it answers
Every message you send makes the server gather your course material again, so nothing is left over from last week. The tutor sees your course as it stands the moment you press send, in four labeled blocks.
The first is the syllabus and course block. It carries the course name, the instructor if you recorded one, then your class meetings rendered as lines like "lecture: Mon/Wed 10:00-11:15 @ Room 214" — labs and discussion sections included, since those are stored as their own meeting kinds. If you have customized your grading scale, the cutoffs go in as plain text: A at 93 percent and up, B at 83 and up, whatever your school actually uses. Last come the structured items from your most recent syllabus scan of that course, each with its weight, due date, and type, drawn from the same six categories the scanner uses: assignment, quiz, exam, project, reading, or other.
The second block is deadlines, built from the tasks you are actually tracking on that course, sorted by due date, with completed items marked done and weights and due times riding along.
The third is the grade figures shown on that course's screen: your current percentage and letter, each category's average and weight, and how much of the grade has not been graded yet.
The fourth is your notes: the text of the files attached to the course, each headed by its filename so the tutor can tell you which document a point came from.
- The syllabus block is capped at 8,000 characters and carries up to 60 items from your latest scan.
- The deadlines block is capped at 8,000 characters and up to 60 tasks.
- Notes are picked by how well they match your question: the tutor looks through up to 24 of the course's most recent files, reads the best matches first, and uses up to 24,000 characters in all, no more than 8,000 from any one file. If nothing in the question points to a particular file, the newest come first.
- A syllabus or deadlines block that has to be cut is clearly marked as shortened, so the model knows it is working from part of the list. Note text past the 24,000-character total is left out.
- The last 12 messages of your conversation are replayed each turn for continuity.
- When there is no course material at all, the model is told so directly and asked to invite you to add a syllabus or notes.
How one message actually travels
The screen is a plain chat. You type, you press the arrow, your message appears as a bubble immediately while the request is in flight, usually three to ten seconds. Underneath that spinner, a fixed sequence runs.
The AI model puts more thought into a hard question than a quick one, and writes a longer answer when you ask for one. Semora does not pin the Tutor to one model: it uses current models from the major AI providers and switches between them as they improve, and the privacy policy names the companies that receive your data. If the first model returns a temporary error, Semora passes the same question to a second one. You see one spinner; the switch happens beneath it.
- A request has to be under 256 KB, or under 8 MB when you attach a photo, and anything larger is rejected before anything else happens.
- Semora's server checks that you are signed in and that your account is Pro. It does not trust the app's own copy of that answer, so an out-of-date or lapsed app cannot get in, and a brief server hiccup returns a try-again error rather than treating a paying account as free.
- One message is taken from your daily allowance before the AI is called, which is what stops ten fast taps from all slipping past the cap together.
- The server confirms the conversation is yours and looks up which course it belongs to in its own records, so the app cannot point the tutor at a course that is not yours.
- Your course material is gathered, the recent turns are replayed, your new message is added, and the model is called.
- Both your message and the reply are saved on Semora's server, so your history stays complete even if the app closes mid-answer.
Deadline answers come from your task list, not the model's memory
One line in the tutor's instructions is not a preference. If you ask about deadlines or dates, it must answer from the deadlines section, and it must never invent a date.
That matters more than it sounds. The deadlines block is built from your live task list, not from the raw text of the syllabus PDF. If your professor pushed the essay back a week and you moved it in Semora, the tutor says the new date. If a deadline arrived from a Canvas sync instead of a scan, it lands in the same task list and grounds the answer identically. The syllabus block and the deadlines block can disagree with each other, and when they do, the deadlines block is the one describing what is actually true now.
Grades come in separately. The deadlines block carries titles, types, due dates, due times, weights, and whether you have checked something off. Alongside it, the tutor gets the grade figures shown on that course's screen: your current percentage and letter, each category's average and weight, and how much of the grade has not been graded yet. So it can talk through a question like "what do I need on the final for a B?" with your real numbers, and it is told to use those figures exactly as shown rather than work them out again, so its answer does not contradict your course screen. It only knows the scores you have entered in Semora, and for an exact answer the what-if calculators in grade forecasting are built for that one job.
Uploading lecture notes
Tap Add notes in the bar above the conversation and pick a file. The picker accepts PDFs and images, so an exported slide deck, a scanned reading, or a photo of the whiteboard all count. Separately, the camera button beside the message box attaches a photo to a single question, such as a problem you are stuck on, and the tutor reads it before it answers.
The reading happens on Semora's server, not on your phone. The file is stored privately in your account. The first time the tutor needs that file, the server reads every readable line out of it, keeping its structure, and saves that text, so later questions do not wait for the file to be read again. Flashcard generation reads the same saved text, so a review packet you attach here is read once and used by both features.
Uploaded files appear as chips you can tap to remove. The confirmation says exactly what removal means: that file will no longer ground the tutor. Removing it deletes both the record and the stored file.
Two constraints are worth knowing up front. Notes attach to a course, so if you opened the tutor without one, the app asks you to choose a course first instead of accepting a file with no course to belong to. And Semora cannot read a file over roughly 6 MB. When a file cannot be read, the tutor names it and asks you to try again or upload it as a PDF, rather than quietly answering without it, so if a large scanned PDF will not go through, split it or export it smaller.
One thread per course, plus a general one
There is no thread list to manage. Open the tutor from a course and you land in that course's rolling conversation, the same thread you were in last week, history intact. The composer placeholder becomes a prompt to ask about that course specifically, and so does the empty state before your first message.
Open it from the Me tab instead and you get a general thread with no course attached. It does not carry any one course's syllabus or notes, but it does see your unfinished deadlines across every course for the next three weeks, plus anything overdue, so "what should I work on tonight?" gets a real answer.
Scoping is also what keeps courses from bleeding into each other. Your organic chemistry thread is grounded on organic chemistry's syllabus, tasks, and notes, and nothing else. Ask it about your statistics midterm and it will tell you that is outside what it has.
The limits, in real numbers
The daily cap applies even though the tutor is a Pro feature. It exists to bound what the model costs to run, and it lives on the server so it can be adjusted without shipping an app update. One honest caveat: the slot is reserved before the model is called, so on the rare occasion a request fails upstream, it still spends one of the fifty. That is the trade for a cap a burst of taps cannot blow past.
- 50 tutor messages per rolling 24 hours per account. Rolling, not a midnight reset.
- 4,000 characters per message, enforced in the composer and checked again on the server.
- 256 KB maximum request size, or 8 MB with a photo attached.
- 60 syllabus items and 60 tasks per message.
- Up to 24 recent note files looked through per question, best matches first, sharing 24,000 characters and no more than 8,000 from one file.
- 12 previous messages replayed per turn — roughly six exchanges of working memory.
- Light formatting in replies, with no tables.
How it connects to the rest of Semora
The tutor keeps no copy of anything. It reads the same records the rest of the app writes, which is why the order you do things in matters.
It is worth being equally clear about what it does not touch. In a course thread it does not read your office hours entries, your Smart Plan, or your other courses' material. The view is deliberately narrow: one course, and the material you gave it.
- Your syllabus scan populates the structured items the tutor quotes back at you. A course with no scan and no notes gives it nothing course-specific to work from.
- Edits you make to a deadline anywhere in the app change what the tutor says the next time you ask.
- Notes uploaded here are the same notes flashcard generation reads, sharing one transcription.
- Class meeting times and your custom grade scale, both set on the course, land in the tutor's context automatically.
- Pro is bought with a card on the web at app.semoraai.com, where Stripe handles the checkout, or inside the iOS app through the App Store, and the entitlement applies account-wide, so the tutor is available on iPhone, iPad, Android, and the web app under the same login. You only ever pay once.
Who this is genuinely for
This is for the student who has already put a course into Semora and now wants to interrogate it. With a scanned syllabus, a tracked deadline list, and a few weeks of slides uploaded, the tutor is unusually good at questions like what is actually on the midterm, explain the difference between these two terms the way my notes framed it, or I have four things due next week and I need to know which one is worth the most.
It is a poor fit in four situations, and it is better to say so than to let you find out after paying.
- You want graded work done for you. The tutor is instructed to explain reasoning and guide you toward an answer rather than produce it, and that is deliberate.
- You have nothing in the app yet. An empty course gives you a general chatbot, which you can get for free elsewhere.
- You want long formatted documents. Replies use light formatting (bold key terms, bullets, numbered steps, and math written in symbols) but no tables.
- You are on the free tier. The tutor is Pro. Free accounts see a description of what it does and a route to the paywall, not a reduced version of the chat.
What happens when things go wrong
Chat features fail in boring ways, and knowing which failure you are looking at saves you from retyping.
One case is quieter than the rest. When a course holds more than fits (more note text than the 24,000-character total, or a syllabus or deadline list long enough to be cut), the tutor answers from what fits and does not print a warning in the chat. So when a reply seems to be missing something you know is in your material, name the topic or the file in your question, which helps the right notes come first.
- The send fails: your bubble is rolled back and the text you typed is restored to the composer. You do not lose a message you already wrote.
- The model returns nothing, or a safety filter blocks the completion: you get a message asking you to rephrase, not an empty bubble.
- The AI service is overloaded: after the retries, you are told the tutor is busy and to try again in a minute.
- Your Pro status lapsed, or the app's cached flag is stale: the server flags it and the app routes you to the paywall rather than a dead-end error.
- A note file cannot be read: the tutor names the file and asks you to try again, remove it and upload it again, or export it as a PDF.
- You hit the daily cap: the error names the number and tells you to try again in 24 hours.
Frequently asked questions
What does the tutor actually know about my course?
Before it sees your question, the server assembles your real course material: your class meetings including labs and discussion sections, your grading scale, the structured items from your most recent syllabus scan (capped at 8,000 characters and up to 60 items), your currently tracked deadlines (also 8,000 characters and up to 60 tasks), the grade figures on that course's screen, and the text of the uploaded notes that best match your question. A block that had to be cut is clearly marked as shortened, so the model knows it is working from part of the list.
Can it tell me when something is due?
Yes, and deadline answers come strictly from your actual tracked task list rather than from the model's memory. It never invents a date. Ask about something outside what you have given it and it says so plainly instead of making something up.
Does the tutor know my grades?
Yes, the ones on your course screen: your current percentage and letter, each category's average and weight, and how much of the grade has not been graded yet. It uses those numbers as shown rather than working them out again, and it only knows scores you have entered in Semora.
Is there a limit on how much I can ask?
Fifty tutor messages per rolling 24 hours per account — rolling, not a midnight reset — and 4,000 characters per message. The last 12 messages of a conversation are replayed each turn, which is roughly six exchanges of working memory.
Can I upload lecture notes for it to read?
Yes, as a PDF or a photo. Notes attach to a course, so choose the course first. For each question the tutor looks through up to 24 of the course's most recent files, reads the ones that best match what you asked first, and uses up to 24,000 characters of their text in all. A file over roughly 6 MB cannot be read, and the tutor tells you which file it could not read.