noris

byNoris Boy

BUILD A COMPLETE AI EDUCATION APP CALLED NORIS STUDY AI Create a production-ready mobile application for Android and iPhone called Noris Study AI. The app is an AI-powered education assistant designed for students around the world. It helps students study, prepare for exams, understand difficult topics, practice questions, and work through assignments. The app must have its own original branding, logo, colors, interface, and user experience. Do not copy ChatGPT, OpenAI, or another company's branding. TAGLINE: “Learn. Practice. Succeed.” 1. MAIN AI FEATURES The app should allow students to: - Ask questions about any school subject. - Get step-by-step explanations. - Upload photos of questions. - Scan questions using the camera. - Upload PDFs and study documents. - Summarize notes. - Generate practice questions. - Generate quizzes. - Generate flashcards. - Create mock examinations. - Get help understanding assignments. - Ask follow-up questions. - Use voice input. - Listen to explanations using text-to-speech. - Search previous conversations. - Save important answers. - Create separate conversations for different subjects. Support subjects such as: - Mathematics - English - Biology - Chemistry - Physics - Computer Science - Geography - History - Economics - Accounting - Business - Literature - Languages - And other subjects. The system should be flexible enough to support students from different countries and education systems. 2. DAILY FREE MESSAGE SYSTEM Every new user receives: 10 FREE AI MESSAGES EVERY DAY Display the remaining messages clearly in the app. Example: “8 of 10 free messages remaining today.” When the user sends a message: 1. Check their daily usage. 2. If they have remaining free messages, process the request. 3. Reduce their remaining daily message count by 1. 4. Show the updated number. When they reach 0: Display a friendly upgrade screen: “You've used your 10 free messages for today.” Then show: Continue learning with Premium Buttons: Upgrade Now View Plans The free allowance should automatically reset every 24 hours according to the account's configured reset period. Prevent users from bypassing the limit simply by logging out and creating another account. Use authenticated accounts and server-side usage tracking. 3. PREMIUM SUBSCRIPTION Create a paid subscription system. Premium users should receive significantly higher usage limits or unlimited AI messages subject to reasonable fair-use limits. Create subscription options that can be configured from the backend, for example: - Monthly - Yearly Do not hard-code prices. Make prices configurable from the app's subscription/payment system so they can be changed later. Premium users should receive: - More AI messages - Advanced AI tutoring - More file uploads - More image/question scans - Larger documents - More mock exams - Advanced study plans - Full conversation history - Priority processing The free plan should still provide useful functionality. 4. HOME SCREEN Create a modern student-focused dashboard. Top: - Noris Study AI logo - Profile picture - Settings icon Main section: “What do you want to learn today?” Large AI input box: “Ask Noris anything…” Buttons: - Ask Question - Scan Question - Upload File - Voice Question Study shortcuts: Exam Prep Homework Help Practice Quiz Flashcards Study Plan Show the user's daily free-message counter. Example: 10 / 10 messages remaining 5. AI TUTOR CHAT Create a clean conversation screen. Features: - Student messages - AI responses - Typing indicator - Voice input - Attach file - Camera - Image upload - Copy answer - Save answer - Regenerate explanation - Ask follow-up question AI responses should prioritize explanations and learning rather than simply giving unexplained answers. For mathematics and science, show calculations and steps clearly. 6. ASSIGNMENT HELPER Create an Assignment Helper section. User can: - Type a question. - Upload a picture. - Upload a document. - Paste assignment instructions. The AI should: 1. Understand the assignment. 2. Explain what the student is being asked to do. 3. Break the task into steps. 4. Provide guidance and examples. 5. Help the student develop their own answer. 6. Check the student's completed work. Include a clear educational-use message encouraging students to understand and complete their own work. 7. EXAM PREPARATION Create an Exam Prep section. User selects: - Country - Education level - Subject - Topic - Difficulty - Number of questions Then generate a practice examination. Include: - Multiple choice - Short answer - True/false - Calculation questions - Essay questions where appropriate Add: Start Exam Include a timer. After completion: Show: - Score - Correct answers - Incorrect answers - Explanation for each question - Weak topics - Recommended revision topics 8. QUESTION SCANNER Allow students to take a photo of a question. Process: Camera → Scan → Detect Question → Explain → Answer/Working For mathematics, display the calculation step-by-step. Allow users to ask: “Explain this more simply.” “Show me another example.” “Give me a similar question to practice.” 9. STUDY PLANNER Create a study planner. User enters: - Exam date - Subjects - Available study hours - Current level - Topics they find difficult Generate a personalized revision schedule. Display the schedule as: Today Tomorrow This Week Exam Countdown Allow students to mark tasks as completed. 10. QUIZ GENERATOR Allow users to create quizzes. Options: - Subject - Topic - Difficulty - Number of questions After the quiz: Show score and explanations. Save quiz results to the user's profile. 11. FLASHCARDS Automatically generate flashcards from: - Notes - PDFs - Topics - Text entered by the student Allow: - Swipe through cards - Mark difficult cards - Review difficult cards - Track progress 12. FILE UPLOADS Support common formats such as: - PDF - DOC/DOCX - TXT - Images After uploading a document, allow: Summarize Explain Create Quiz Create Flashcards Ask Questions 13. USER ACCOUNTS Create: - Email registration - Email login - Google sign-in where supported - Password reset - Profile management Store: - User profile - Subscription status - Daily AI usage - Conversations - Saved answers - Quiz results - Study plans - Flashcards - Uploaded learning materials 14. NAVIGATION Use bottom navigation: Home Study Chat Progress Profile Study should contain: - Exam Prep - Assignments - Quizzes - Flashcards - Study Planner 15. PROGRESS DASHBOARD Show: - Quiz scores - Study time - Completed study tasks - Strong subjects - Topics needing improvement - Exam countdowns - Recent activity Use simple visual charts. 16. PREMIUM SCREEN Create a professional subscription page. Headline: “Unlock your full learning potential.” Show benefits: ✓ More AI messages ✓ Advanced AI tutoring ✓ More document uploads ✓ More question scans ✓ Unlimited practice tools ✓ Personalized study plans ✓ Advanced exam preparation Buttons: Start Premium View Plans Also provide: Restore Purchases 17. BACKEND Use a secure backend. Important: - Never expose AI API keys inside the mobile application. - Process AI requests through a secure backend. - Store user usage server-side. - Track daily message usage server-side. - Track subscription status server-side. - Validate purchases securely. - Protect uploaded documents. - Use secure authentication. - Apply rate limiting. Create database tables/collections for: Users Subscriptions Usage Conversations Messages Files Quizzes Quiz Results Flashcards Study Plans Saved Answers 18. ADMIN DASHBOARD Create an admin dashboard where authorized administrators can see: - Total users - Active users - Free users - Premium users - Daily AI requests - Subscription statistics - Usage statistics - Error logs Allow administrators to configure: - Free daily message limit - Subscription plans - Pricing - AI models - Maximum upload size - Feature availability Default free limit: 10 messages per day 19. DESIGN Make the app: - Modern - Fast - Clean - Premium - Student-friendly - Easy to navigate Use a distinctive Noris Study AI visual identity. Create: - App icon - Splash screen - Empty states - AI tutor avatar - Loading animations - Smooth transitions Do not use OpenAI or ChatGPT logos. 20. SAFETY AND EDUCATIONAL USE The app should encourage learning and understanding. For active tests, examinations, or assessments where assistance is prohibited, do not present the product as a cheating tool. Focus on: - Explanation - Practice - Revision - Tutoring - Feedback - Learning 21. APP STORE READINESS Prepare the application for: - Google Play Store - Apple App Store Include: - Privacy policy page - Terms of service - Account deletion - Subscription management - Support page - App permissions explanations - Secure authentication - Error handling - Loading states - Offline-friendly UI where possible Make the architecture scalable so thousands or millions of students can eventually use the application. The final result should feel like a real global education platform, not a basic chatbot.

No preview

Comments (0)

No comments yet. Be the first!

System Requirements

Page 1 of 12

System Requirements Document for noris

1. Introduction

Noris Study AI is a production-ready mobile application for Android and iPhone: an AI-powered education assistant for students around the world. It helps students study, prepare for exams, understand difficult topics, practice questions, and work through assignments. The product carries its own original branding, logo, colors, interface, and user experience and must not copy ChatGPT, OpenAI, or another company's branding.

Tagline: "Learn. Practice. Succeed."

The audience is students worldwide, from secondary school through university entrance preparation, working across many countries, curricula, and education systems. A second audience is the authorized administrator who operates the platform: monitoring usage and health, and configuring the commercial and AI parameters that shape every student's experience.

The product intent is a global education platform — not a basic chatbot. Every AI interaction is oriented toward explanation, practice, revision, tutoring, feedback, and learning. For active tests, examinations, or assessments where assistance is prohibited, the product is not presented as a cheating tool.

Page 2 of 12

2. System Overview

Noris Study AI is delivered as a native mobile application (Android and iPhone) backed by a secure server-side platform. Students ask questions about any school subject, receive step-by-step explanations, scan or photograph questions, upload study documents, generate practice questions, quizzes, flashcards, and mock examinations, build personalized revision schedules, and track their progress. All AI processing happens through the secure backend; AI API keys are never exposed inside the mobile application.

Access to the student experience is metered. Every new user receives 10 free AI messages every day, displayed clearly in the app, decremented as messages are sent, and reset every 24 hours according to the account's configured reset period. Usage is tracked server-side against authenticated accounts so the limit cannot be bypassed by logging out and creating another account. When the free allowance reaches zero, the student sees a friendly upgrade screen offering Premium.

Premium is a paid subscription with significantly higher usage limits or unlimited AI messages subject to reasonable fair-use limits. Subscription options (for example Monthly and Yearly) and their prices are configurable from the backend and are never hard-coded. The free plan still provides useful functionality.

An authorized administrator operates a restricted Admin Dashboard to monitor total users, active users, free users, premium users, daily AI requests, subscription statistics, usage statistics, and error logs, and to configure the free daily message limit (default 10 messages per day), subscription plans, pricing, AI models, maximum upload size, and feature availability.

Page 3 of 12

2a. Product Interpretation and Delivery Boundary

Current delivery. The current product is the complete student mobile application plus its secure backend and the restricted administrator dashboard. The student experience is organized around a bottom navigation of Home, Study, Chat, Progress, and Profile. Study contains Exam Prep, Assignments, Quizzes, Flashcards, and Study Planner. The Home dashboard is the anonymous first impression of Noris Study AI and also the signed-in student's daily starting point. Protected study work — conversations, saved answers, quiz results, study plans, flashcards, uploads, subscription state, and daily usage — is bound to an authenticated account so it can be resumed and metered correctly. Identity is application-owned: students register with email, log in with email, may use Google sign-in where supported, and can reset a forgotten password. Administrators are provisioned and authorized rather than self-enrolling, and the Admin Dashboard is reachable only by authorized administrators.

Access boundary. Home, Privacy Policy, Terms of Service, and Support are openly reachable. Login, Sign Up, and Account Recovery are the anonymous entry surfaces that establish or restore identity. Study, Chat, Progress, Exam Prep, Assignments, Quizzes, Flashcards, Study Planner, Assignment Helper, Question Scanner, Quiz Generator, and Premium require an authenticated student session. Profile requires login. Admin Dashboard requires an authorized administrator session.

Provider and external ownership. Subscription purchase, billing, renewal, and purchase restoration are handled by the platform subscription/payment system; Noris validates purchases securely server-side and reflects entitlement in the app. Google sign-in is offered only where supported by the platform. AI model inference is executed by the backend; the mobile client never holds provider credentials.

Future horizon. Nothing in this document is deferred: every requirement below is current. Any later expansion of subjects, curricula, languages, or platform scale is governed by the scalability requirement rather than by a separate future release.

Page 4 of 12

2b. Source Content Inventory

Not applicable — no reference directive with content_source authority was supplied.

2c. Page Content and Component Coverage

Home

  • Information and state: Noris Study AI logo, profile picture, settings icon; the prompt "What do you want to learn today?"; the large AI input box with placeholder "Ask Noris anything…"; the daily free-message counter (for example "10 / 10 messages remaining", or "8 of 10 free messages remaining today."); study shortcuts Exam Prep, Homework Help, Practice Quiz, Flashcards, Study Plan; recent activity.
  • Primary actions: Ask Question, Scan Question, Upload File, Voice Question; open a study shortcut; open the profile picture or settings icon.
  • Supporting actions: Type into the Ask Noris input box; view the daily counter; open recent activity.
  • Domain entities: User profile, daily usage counter, conversation, study shortcut.
  • Component responsibilities: Header band (logo mark, profile picture, settings icon); numbered prompt section; Ask Noris input card with the four action buttons; daily counter strip; study shortcut list; recent activity list.
  • States: Loading — counter and recent activity resolve with placeholder rules. Empty — no recent activity yet, with a first-step prompt toward Ask Question. Success — counter shows remaining allowance and shortcuts are tappable. Error — counter unavailable shows a retry affordance rather than a false zero. Recovery — retry reloads counter and activity.

Login

  • Information and state: Email and password fields; Google sign-in option where supported; link to Account Recovery; link to Sign Up.
  • Primary actions: Log in with email; log in with Google where supported.
  • Supporting actions: Navigate to Account Recovery; navigate to Sign Up.
  • Domain entities: User account, session.
  • Component responsibilities: Credential form; provider sign-in control; navigation links.
  • States: Loading — submit disabled with progress indication. Empty — blank fields. Success — session established and the student continues to the intended destination. Error — invalid credentials or provider failure shown inline with the form preserved. Recovery — route to Account Recovery.
Page 5 of 12

Sign Up

  • Information and state: Email registration fields; Google sign-in option where supported; link to Login.
  • Primary actions: Register with email; register with Google where supported.
  • Supporting actions: Navigate to Login.
  • Domain entities: User account, profile, daily usage record.
  • Component responsibilities: Registration form; provider sign-up control; navigation link.
  • States: Loading — submit disabled with progress indication. Empty — blank fields. Success — account created, daily allowance initialized to 10 free messages, student continues into the app. Error — duplicate email or invalid input shown inline. Recovery — correct and resubmit, or switch to Login.

Account Recovery

  • Information and state: Password reset request and completion fields; link back to Login.
  • Primary actions: Request password reset; set a new password.
  • Supporting actions: Return to Login.
  • Domain entities: User account, recovery request.
  • Component responsibilities: Recovery request form; new-password form; navigation link.
  • States: Loading — submit disabled with progress indication. Empty — blank fields. Success — reset requested or password updated, with confirmation. Error — unknown email or invalid input shown without disclosing account existence beyond what the flow requires. Recovery — retry or return to Login.

Study

  • Information and state: The study hub listing Exam Prep, Assignments, Quizzes, Flashcards, and Study Planner.
  • Primary actions: Open any of the five study destinations.
  • Supporting actions: Return to Home, Chat, Progress, or Profile via bottom navigation.
  • Domain entities: Study tool entries, subject context.
  • Component responsibilities: Ruled list of study destinations with subject-color rules; bottom navigation.
  • States: Loading — list resolves with placeholder rules. Empty — not applicable; the five destinations are always present. Success — each destination opens. Error — unavailable destination shown as disabled with explanation. Recovery — retry.
Page 6 of 12

Chat

  • Information and state: Conversation list and conversation thread; student messages and AI responses; typing indicator; daily counter context; subject association for each conversation.
  • Primary actions: Send a message; ask a follow-up question; use voice input; attach a file; open the camera; upload an image; copy an answer; save an answer; regenerate an explanation; listen to an explanation with text-to-speech; search previous conversations; create a separate conversation for a subject.
  • Supporting actions: Switch between conversations; open a saved answer.
  • Domain entities: Conversation, message, saved answer, file, daily usage counter.
  • Component responsibilities: Conversation list with search; message thread; composer with voice, attach, and camera controls; per-answer action row (copy, save, regenerate, listen); typing indicator.
  • States: Loading — thread history and typing indicator. Empty — no conversations yet, with a prompt to ask the first question. Success — response rendered with explanation-first structure; for mathematics and science, calculations and steps shown clearly. Error — failed request preserves the student's message and offers retry. Recovery — retry the request; if the daily allowance is exhausted, route to the upgrade screen.

Progress

  • Information and state: Quiz scores, study time, completed study tasks, strong subjects, topics needing improvement, exam countdowns, recent activity; simple visual charts.
  • Primary actions: Review scores and activity; open a related study destination.
  • Supporting actions: Filter or scroll through activity.
  • Domain entities: Quiz result, study plan task, study time record, subject performance, exam countdown.
  • Component responsibilities: Score charts; study-time summary; completed-task summary; strengths and improvement lists; countdown display; recent activity list.
  • States: Loading — charts and lists resolve with placeholders. Empty — no activity yet, with a prompt to start a quiz or study plan. Success — charts and lists populated. Error — unavailable section shown with retry. Recovery — retry.

Profile

  • Information and state: User profile details; subscription status; daily AI usage; entry points to saved answers, quiz results, study plans, flashcards, and uploaded learning materials; links to Privacy Policy, Terms of Service, Support, subscription management, and account deletion.
  • Primary actions: Manage profile; manage subscription; delete account; open policy and support pages.
  • Supporting actions: Review stored learning records.
  • Domain entities: User profile, subscription, usage, saved answer, quiz result, study plan, flashcard, uploaded learning material.
  • Component responsibilities: Profile summary; subscription status block; usage block; learning-record lists; policy and support links; account deletion control.
  • States: Loading — profile and status resolve with placeholders. Empty — no saved items yet. Success — profile and status shown. Error — status unavailable shown with retry. Recovery — retry; account deletion requires explicit confirmation.
Page 7 of 12

Exam Prep

  • Information and state: Selection rows for Country, Education level, Subject, Topic, Difficulty, and Number of questions; generated practice examination; Start Exam control; exam timer; results view with score, correct answers, incorrect answers, explanation for each question, weak topics, and recommended revision topics.
  • Primary actions: Select each configuration value; generate a practice examination; start the exam; answer questions; submit; review results.
  • Supporting actions: Change configuration and regenerate; review recommended revision topics.
  • Domain entities: Practice examination, question (multiple choice, short answer, true/false, calculation, essay where appropriate), attempt, timer, result, weak topic, recommended revision topic.
  • Component responsibilities: Configuration form rows; examination renderer covering all question types; timer; results panel with per-question explanations; weak-topic and revision-recommendation lists.
  • States: Loading — generation and scoring progress. Empty — no examination generated yet. Success — examination runs under timer and results display fully. Error — generation or submission failure preserves answers and offers retry. Recovery — retry generation or submission; if the daily allowance is exhausted, route to the upgrade screen.

Assignments

  • Information and state: Assignment-related learning entry point within Study; list of assignment work and its status.
  • Primary actions: Open Assignment Helper; resume an assignment.
  • Supporting actions: Return to Study.
  • Domain entities: Assignment work item.
  • Component responsibilities: Assignment list; navigation into Assignment Helper.
  • States: Loading — list resolves with placeholders. Empty — no assignment work yet, with a prompt to start one. Success — items open. Error — unavailable list shown with retry. Recovery — retry.

Quizzes

  • Information and state: Quiz study entry point within Study; list of quizzes and results.
  • Primary actions: Open Quiz Generator; resume a quiz; review a saved quiz result.
  • Supporting actions: Return to Study.
  • Domain entities: Quiz, quiz result.
  • Component responsibilities: Quiz list; navigation into Quiz Generator.
  • States: Loading — list resolves with placeholders. Empty — no quizzes yet, with a prompt to create one. Success — items open. Error — unavailable list shown with retry. Recovery — retry.
Page 8 of 12

Flashcards

  • Information and state: Flashcard decks generated from notes, PDFs, topics, or text entered by the student; card front and back; difficult-card marking; progress tracking.
  • Primary actions: Generate flashcards; swipe through cards; mark difficult cards; review difficult cards; track progress.
  • Supporting actions: Choose the generation source; return to Study.
  • Domain entities: Flashcard, deck, difficult-card mark, progress record.
  • Component responsibilities: Generation source selector; card swipe surface; difficult-card control; difficult-card review mode; progress indicator.
  • States: Loading — generation progress. Empty — no decks yet, with a prompt to generate from a source. Success — cards swipe, marks persist, progress updates. Error — generation failure preserves the source and offers retry. Recovery — retry; if the daily allowance is exhausted, route to the upgrade screen.

Study Planner

  • Information and state: Inputs for exam date, subjects, available study hours, current level, and topics the student finds difficult; generated personalized revision schedule displayed as Today, Tomorrow, This Week, and Exam Countdown; task completion state.
  • Primary actions: Enter planner inputs; generate the revision schedule; mark tasks as completed.
  • Supporting actions: Review the countdown; revisit the schedule.
  • Domain entities: Study plan, revision task, exam date, exam countdown, subject, difficulty topic.
  • Component responsibilities: Planner input form; schedule sections for Today, Tomorrow, This Week; exam countdown display; task completion controls.
  • States: Loading — generation progress. Empty — no plan yet, with a prompt to enter exam details. Success — schedule displayed with completable tasks and countdown. Error — generation failure preserves inputs and offers retry. Recovery — retry; if the daily allowance is exhausted, route to the upgrade screen.

Assignment Helper

  • Information and state: Assignment input area supporting a typed question, an uploaded picture, an uploaded document, and pasted assignment instructions; the educational-use message encouraging students to understand and complete their own work; AI output covering what the student is being asked to do, a step breakdown, guidance and examples, help developing their own answer, and a check of completed work.
  • Primary actions: Type a question; upload a picture; upload a document; paste assignment instructions; request understanding, step breakdown, guidance, and examples; submit completed work for checking.
  • Supporting actions: Revise the student's own answer and resubmit for checking.
  • Domain entities: Assignment, uploaded file, guidance output, student draft, check result.
  • Component responsibilities: Input area with typed, picture, document, and paste modes; educational-use message; structured guidance output; draft submission and feedback panel.
  • States: Loading — analysis progress. Empty — no assignment entered yet, with the educational-use message visible. Success — guidance and checking returned. Error — analysis failure preserves the input and offers retry. Recovery — retry; if the daily allowance is exhausted, route to the upgrade screen.
Page 9 of 12

Question Scanner

  • Information and state: Camera capture and image upload surface; detected question; explanation and answer/working; for mathematics, step-by-step calculation display; follow-up prompts "Explain this more simply.", "Show me another example.", "Give me a similar question to practice."
  • Primary actions: Take a photo; scan; review the detected question; read the explanation and working; ask a follow-up prompt.
  • Supporting actions: Retake or re-upload the image.
  • Domain entities: Scanned image, detected question, explanation, working steps, practice question.
  • Component responsibilities: Camera and upload control; detection result; explanation and step-by-step working panel; follow-up prompt controls.
  • States: Loading — capture, detection, and explanation progress. Empty — no image captured yet. Success — question detected and explained with working. Error — undetected or unreadable question offers retake. Recovery — retake or re-upload; if the daily allowance is exhausted, route to the upgrade screen.

Quiz Generator

  • Information and state: Options for Subject, Topic, Difficulty, and Number of questions; generated quiz; score and explanations after completion; saved quiz results on the user's profile.
  • Primary actions: Select options; generate a quiz; answer questions; submit; review score and explanations.
  • Supporting actions: Regenerate with different options; revisit saved results.
  • Domain entities: Quiz, question, attempt, score, explanation, quiz result.
  • Component responsibilities: Option form; quiz renderer; scoring and explanation panel; result persistence.
  • States: Loading — generation and scoring progress. Empty — no quiz generated yet. Success — quiz completes and score with explanations displays and saves. Error — generation or submission failure preserves answers and offers retry. Recovery — retry; if the daily allowance is exhausted, route to the upgrade screen.

Premium

  • Information and state: Headline "Unlock your full learning potential."; benefits list — More AI messages, Advanced AI tutoring, More document uploads, More question scans, Unlimited practice tools, Personalized study plans, Advanced exam preparation; available plans with backend-configured prices; Restore Purchases control.
  • Primary actions: Start Premium; View Plans; Restore Purchases.
  • Supporting actions: Review benefits and plan options.
  • Domain entities: Subscription plan, price, purchase, entitlement.
  • Component responsibilities: Headline and benefits block; plan selector; purchase controls; restore control.
  • States: Loading — plans and prices resolve from the backend. Empty — plans temporarily unavailable shown with retry. Success — purchase completes and entitlement updates. Error — purchase or restore failure shown with retry and no false entitlement. Recovery — retry purchase or restore.
Page 10 of 12

Admin Dashboard

  • Information and state: Total users, active users, free users, premium users, daily AI requests, subscription statistics, usage statistics, error logs; configuration controls for free daily message limit (default 10 messages per day), subscription plans, pricing, AI models, maximum upload size, and feature availability.
  • Primary actions: Review metrics and error logs; configure the free daily message limit; configure subscription plans and pricing; configure AI models; configure maximum upload size; configure feature availability.
  • Supporting actions: Refresh statistics.
  • Domain entities: User statistics, subscription statistics, usage statistics, error log entry, configuration setting.
  • Component responsibilities: Metrics panels; statistics views; error log viewer; configuration forms with save and validation.
  • States: Loading — metrics and logs resolve with placeholders. Empty — no error log entries in the period. Success — metrics display and configuration changes persist. Error — failed load or save shown with retry and no silent partial save. Recovery — retry load or save.

Privacy Policy

  • Information and state: The privacy policy content for the application.
  • Primary actions: Read the policy.
  • Supporting actions: Return to the previous destination.
  • Domain entities: Policy document.
  • Component responsibilities: Policy reader.
  • States: Loading — content resolves. Empty — not applicable. Success — policy readable. Error — unavailable content shown with retry. Recovery — retry.

Terms of Service

  • Information and state: The terms of service content for the application.
  • Primary actions: Read the terms.
  • Supporting actions: Return to the previous destination.
  • Domain entities: Terms document.
  • Component responsibilities: Terms reader.
  • States: Loading — content resolves. Empty — not applicable. Success — terms readable. Error — unavailable content shown with retry. Recovery — retry.
Page 11 of 12

Support

  • Information and state: Support information and contact route for users needing assistance.
  • Primary actions: Read support information; contact support.
  • Supporting actions: Return to the previous destination.
  • Domain entities: Support content.
  • Component responsibilities: Support content block; contact control.
  • States: Loading — content resolves. Empty — not applicable. Success — support content readable and contact available. Error — unavailable content shown with retry. Recovery — retry.
Page 12 of 12

3. Functional Requirements

FR-1 — Ask questions about any school subject (explicit) As a Student, I should ask Noris a question about any school subject so that I can get help with what I am studying.

  • Trigger/input: a typed question in the Ask Noris input box or the Chat composer.
  • Observable result: an AI response appears in the conversation.
  • Access: authenticated student session.
  • Failure/recovery: a failed request preserves my message and offers retry.
  • Continuation: I can ask a follow-up question in the same conversation.

FR-2 — Step-by-step explanations (explicit) As a Student, I should receive step-by-step explanations so that I understand how an answer is reached rather than only what it is.

  • Trigger/input: a question or an uploaded/scanned question.
  • Observable result: the response presents the reasoning as ordered steps.
  • Access: authenticated student session.
  • Failure/recovery: if the explanation fails to generate, I can retry the request.
  • Continuation: I can ask for the explanation more simply or request another example.

FR-3 — Upload photos of questions (explicit) As a Student, I should upload a photo of a question so that Noris can work from the question as it appears on paper.

  • Trigger/input: an image selected from my device.
  • Observable result: the question in the image is detected and explained.
  • Access: authenticated student session.
  • Failure/recovery: an unreadable image offers re-upload.
  • Continuation: I can ask follow-up prompts about the detected question.

FR-4 — Scan questions using the camera (explicit) As a Student, I should scan a question with the camera so that I can get help without typing it out.

  • Trigger/input: a camera capture.
  • Observable result: the captured question is detected and explained, with step-by-step working for mathematics.
  • Access: authenticated student session, with camera permission.
  • Failure/recovery: a failed capture or detection offers retake.
  • Continuation: I can ask "Explain this more simply.", "Show me another example.", or "Give me a similar question to practice."

FR-5 — Upload PDFs and study documents (explicit) As a Student, I should upload PDFs and study documents so that Noris can work from my own materials.

  • Trigger/input: a file in PDF, DOC/DOCX, TXT, or image format.
  • Observable result: the document is available for Summarize, Explain, Create Quiz, Create Flashcards, and Ask Questions.
  • Access: authenticated student session; uploads are protected server-side.
  • Failure/recovery: an unsupported or oversized file is rejected with a clear explanation.
  • Continuation: I can choose any of the five document actions.

FR-6 — Summarize notes (explicit) As a Student, I should summarize my notes so that I can review them quickly.

  • Trigger/input: uploaded notes or entered text, with the Summarize action.
  • Observable result: a summary of the material is returned.
  • Access: authenticated student session.
  • Failure/recovery: a failed summary preserves the source and offers retry.
  • Continuation: I can turn the summary into flashcards or a quiz.

FR-7 — Generate practice questions (explicit) As a Student, I should generate practice questions so that I can rehearse a topic.

  • Trigger/input: a subject, topic, and difficulty context.
  • Observable result: practice questions are returned for me to work through.
  • Access: authenticated student session.
  • Failure/recovery: a failed generation offers retry.
  • Continuation: I can request a similar question to practice.

FR-8 — Generate quizzes (explicit) As a Student, I should generate quizzes so that I can test myself on a topic.

  • Trigger/input: Subject, Topic, Difficulty, and Number of questions.
  • Observable result: a quiz is generated and can be completed.
  • Access: authenticated student session.
  • Failure/recovery: a failed generation preserves my options and offers retry.
  • Continuation: after the quiz I see my score and explanations, and the result is saved to my profile.

FR-9 — Generate flashcards (explicit) As a Student, I should generate flashcards so that I can memorize material efficiently.

  • Trigger/input: notes, PDFs, topics, or text I enter.
  • Observable result: a flashcard deck is generated from the chosen source.
  • Access: authenticated student session.
  • Failure/recovery: a failed generation preserves the source and offers retry.
  • Continuation: I can swipe through cards, mark difficult cards, and review them.

FR-10 — Create mock examinations (explicit) As a Student, I should create mock examinations so that I can rehearse under exam conditions.

  • Trigger/input: Country, Education level, Subject, Topic, Difficulty, and Number of questions.
  • Observable result: a practice examination is generated including multiple choice, short answer, true/false, calculation questions, and essay questions where appropriate.
  • Access: authenticated student session.
  • Failure/recovery: a failed generation preserves my selections and offers retry.
  • Continuation: I can start the exam with its timer.

FR-11 — Get help understanding assignments (explicit) As a Student, I should get help understanding my assignments so that I can work out what is being asked and how to approach it.

  • Trigger/

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Home: Open anonymous first screen
Login: 1. Log in with authorized credentials
Account Recovery: 2. Reset forgotten password
Admin Dashboard: Review user and usage metrics
Admin Dashboard: 1. Review subscription statistics
Admin Dashboard: 2. Review error logs
Admin Dashboard: 3. Refresh statistics
Admin Dashboard: 4. Configure free daily message limit
Admin Dashboard: 5. Configure subscription plans and pricing
Admin Dashboard: 6. Configure AI models and upload size
Admin Dashboard: 7. Configure feature availability
Profile: Manage administrator profile
Privacy Policy: Review the policy
Terms of Service: Review the terms
Support: Contact support

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Home: Open anonymous first screen
Login: 1. Log in with authorized credentials
Account Recovery: 2. Reset forgotten password
Admin Dashboard: Review user and usage metrics
Admin Dashboard: 1. Review subscription statistics
Admin Dashboard: 2. Review error logs
Admin Dashboard: 3. Refresh statistics
Admin Dashboard: 4. Configure free daily message limit
Admin Dashboard: 5. Configure subscription plans and pricing
Admin Dashboard: 6. Configure AI models and upload size
Admin Dashboard: 7. Configure feature availability
Profile: Manage administrator profile
Privacy Policy: Review the policy
Terms of Service: Review the terms
Support: Contact support