—
Students
—
Questions
—
Responses
—
Curricula
Ready
✎
Question Entry Form
Add, tag and save questions to the bank with LaTeX support and PDF import.
Ready
📊
Curriculum Import
Import curricula, topics, subtopics and AOs from the Excel template.
Ready
📥
Bulk Import
Upload past paper PDFs — AI extracts questions and mark schemes, you review and save to the database.
New
📚
Syllabus Outcomes
Upload a syllabus once — AI lists its learning outcomes under your subtopics for the question importer; you check and save.
Ready
🔗
AO Progressions
Define prerequisite relationships between Assessment Objectives to guide the adaptive engine.
Ready
🗺
Subtopic Progressions
Define prerequisite relationships between subtopics to sequence the curriculum and implement Zone of Proximal Development.
Ready
✎
Question Editor
Browse, search, edit and delete questions stored in the database.
New
🖼
Group Editor
Repair structured questions — add, resize and remove stem, sub-stem and part diagrams, and spot questions missing a figure.
Ready
👥
User Management
View all users, promote students to admin, manage roles.
Ready
📢
Send Announcement
Send an email announcement to all students or a specific student.
New
💬
In-app Messages
Pop-up announcements inside the app, the welcome series for new students, and a tip for each page.
New
🧪
Skills Lab Generator
Generate reading, comprehension and interpretation skill questions from existing question images using AI.
Soon
📈
Student Progress
View mastery scores, response history and performance by topic and AO.
Soon
🎯
Assign Questions
Create targeted practice sets and assign them to specific students or classes.
Soon
🏆
Badge Manager
Define badges, set trigger conditions and award them to students.
User Management
Name Nickname Email Role Grade Curriculum XP Attempts Last active Status Actions
Click any row for full detail. Last active comes from practice activity; last login is shown in the detail panel.
🎁 Free Subtopic — Always accessible without payment
One subtopic is always free for all students, regardless of payment status. Select the curriculum and subtopic below. Only one subtopic can be free at a time across the entire platform.
Curriculum
Topic
Subtopic
💰 Pricing — Topics and full courses
Set prices for individual topics and full courses. These appear on the pricing page shown to students. Leave a topic at ₹0 to hide its price (shows "—").
Curriculum
Select a curriculum to set prices.
🔼 Upgrade credit — fees
When a student buys a full course or a bundle after buying parts of it, what they already paid is taken off the price and this fee is added. The fee applies only when there is credit, and the price never goes above the normal price. Applies to every course.
📦 Topic Bundles — Grouped topic packages
Create bundles of topics that students can buy at a discount. Bundles appear on the pricing page between the full course and individual topics.
Curriculum
Select a curriculum to manage bundles.
🎨 Platform Theme — Default for all students
Set the default theme for all students. Students can personalise their own theme from the student dashboard. Your choice here applies to students who haven't set a preference.
Theme is stored locally — students see it when they visit on this device. For a fully server-side default, store it in the curricula table (future feature).
🏅 Badge thresholds — per curriculum
Set the thresholds for each badge. Course Mastery, Topic Mastery and Accuracy thresholds are per-curriculum. Streak and Hard Questions are platform-wide and not curriculum-specific. Changes apply immediately — revocable badges (mastery, topic, accuracy) update on the student's next practice session.
🤖 AI Tutor — Vercel Environment Variables
The Anthropic API key and AI settings are stored securely as Vercel Environment Variables — never in the browser or database. Set them once in your Vercel dashboard and they apply to all users automatically.
ANTHROPIC_KEY
Your Anthropic API key. Find it in Anthropic Console → API Keys.
sk-ant-…
Set in Vercel Dashboard → Your Project → Settings → Environment Variables
AI_MODEL
Model for the student AI tutor. Defaults to Claude Haiku 4.5 if not set.
claude-haiku-4-5-20251001 (default)
claude-sonnet-4-6 (more capable)
AI_MAX_TOKENS
Max tokens per AI tutor reply. Defaults to 300 if not set.
300 (default · recommended range: 200–600)
SUPABASE_URL
Your Supabase project URL — used by the serverless proxy to verify student sessions.
https://xxxxxxxxxxxx.supabase.co
SUPABASE_ANON_KEY
Your Supabase anon key — used by the proxy to validate JWT tokens.
eyJhbGci…
How to set these:
Go to vercel.com → Your Project → Settings → Environment Variables. Add each variable name and value, then redeploy. The API key is never stored in your code or database.
🎙️ Nova Voice — Text-to-Speech
Choose which text-to-speech engine Nova uses. Each option has different quality and cost trade-offs.
Voice engine
Select which TTS engine Nova uses. Changes take effect immediately — no redeploy needed.
ELEVENLABS_API_KEY
Your ElevenLabs API key. Find it at elevenlabs.io → Profile → API Key.
sk_…
Set in Vercel Dashboard → Environment Variables, then redeploy
Voice ID
ElevenLabs voice ID. Browse voices at elevenlabs.io/voice-library. Current: Loading…
Lauren (friendly, conversational): DODLEQrClDo8wCz460ld  ·  Browse more at elevenlabs.io/voice-library
OpenAI voice
OpenAI TTS voice. Current: Loading…
Requires OPENAI_API_KEY in Vercel environment variables
Voice style
ElevenLabs expressiveness. Higher = more dynamic but less consistent.
stability: 0.45  ·  similarity: 0.80  ·  style: 0.15 Edit in api/speak.js to adjust
📚 Curriculum Settings — Adaptive Learning Parameters
Configure the adaptive learning parameters for each curriculum. These control mastery calculation, decay behaviour, difficulty progression, and sample size requirements. Changes are read by both the client and the SQL mastery functions.
🎯 AO Difficulty Ranges — Validation & Operational
Validation ranges (editable) define the allowed difficulty for each AO — used to flag out-of-range questions during import. Operational ranges (auto-derived) reflect the actual question database and drive mastery calculations. Each curriculum has independent AO structures.
📊 Question Database — Coverage Statistics
Shows how many questions exist per topic, subtopic, and AO for the selected curriculum — helping identify gaps in coverage.
🎓 Grade Levels — Manage grades across the platform
Grade levels are used throughout Eigenowl — student profiles, Nova sessions, Observatory resources, and series. Changes here apply everywhere automatically.
Add a new grade level
ID
Display Label
Sort Order
🎁 Complimentary Access — Grant free access to a student
Grant a student free access to a full course or individual topic without payment. This creates a complimentary entry in the access records.
Student
Curriculum
Access type
Topic
📋 Active complimentary grants
Select a curriculum above to view grants.
🌍 Country Access — Free & restricted regions
Students from countries on this list receive full free access to the platform regardless of payment. Uses the ISO 3166-1 alpha-2 country code (e.g. IN for India, PS for Palestine).
Code
Country name
Notes (optional)
Student region breakdown
Loading…
✉ Contact Messages — from eigenowl.com
🔭 Add / Edit Resource
Title *
Source / Publisher
URL *
Thumbnail URL (optional — leave blank for YouTube auto-thumbnail)
Short Description
Category *
Media Type *
Grade Level
Embeddable?
Duration (minutes)
📋 All Resources
🚩 Flagged Comments

✦ Nova — Pending Suggestions

AI-generated draft suggestions from highly-rated brainstorm sessions. Review the conversation, then approve or reject.

Loading…

Recent Feedback

TopicGradeModeRatingReasonDate
Loading…

Topic Prompts

Custom instructions per topic+grade+mode. Empty instructions use the generic prompt.

TopicGradeModeAliasesInstructionSource
Loading…
◈ Quanta — Nova credits
Enforcement: …

Observe mode (enforcement off): every Nova call is charged and recorded, but no student is ever stopped — "would have been stopped" counts what enforcement would do. Marking is never charged to students; its cost is recorded so each topic's AI cost can be compared with what it earns. Costs are in ₹ at the rate set below.

Loading…
⚙ Settings
Money
Converts Anthropic's dollar cost.
Fixed value of a Quantum. Used by grants and the monthly cap.
Weekly top-up and limits
Every Monday a balance below this is raised to it.
Students you put in the School group.
App-wide. When reached, Monday top-ups pause until the month ends.
Price per Nova message (Quanta)
Free calls — daily limit per student
Learning-credit grants and earning
Share of what the same item would grant if bought at its listed price. 0 = none.
Model prices (US$ per million tokens)
Cost per kind of call — last 28 days

"Measured Quanta" is what the average call actually cost, in Quanta at the value set above. Where it differs a lot from the price, consider changing the price.

KindCharged?CallsAvg ₹ / callTotal ₹Measured QuantaPrice
Per topic — what it earns vs its AI cost

Bundle and full-course payments are shared equally over their topics. "Received" is after GST and the gateway fee. AI cost is attributed through each question's primary subtopic in that course.

CourseTopicBuyersPaid ₹Received ₹Students using AINova ₹Marking ₹AI ₹ / student
Weekly trend (8 weeks) and cost by page (28 days)
Week (Mon)Nova ₹Marking ₹MessagesUsers
PageCalls₹
Students
Adjust: a positive number adds Quanta, a negative one removes them. A note is required.
StudentRegionGroupBalanceMsgs this weekNova ₹Marking ₹Would-be stopsAdjust
↩ Refunds

Refunds are made in the Razorpay dashboard. EigenOwl hears about them automatically (webhook event refund.processed); this button also asks Razorpay about every purchase still marked paid, to catch earlier or missed refunds. A full refund ends access to that item and takes back its Quanta (up to the student's balance). A partial refund is only recorded — access stays. Refund whole payments, newest first (a course before the topics bought earlier).

Recent refunds
Loading…
⭐ Tier Thresholds — Weekly XP Required
Set the weekly XP needed to reach each tier. Seedling is always 0. Values must be ascending: Rising Star < Trailblazer < Scholar < Zenith.
🎯 Spotlight Minimums — Eligibility Thresholds
Minimum activity required for a student to appear in each Spotlight category. Prevents low-sample outliers from dominating.
⚑ Question Flags
Status
Source
Curriculum
Reason