MISSION AI is a complete, production-ready, mobile-first student learning platform. Its tagline is Learn Smarter, Achieve More. It is an AI-powered study, practice, notes, homework, test, examination, competitive-exam preparation, and personalized learning platform for students.
The product intent is to give students from Class 6 through Class 12 and Beyond Class 12 a single real application — not a demo, static prototype, landing page, or collection of mock screens — in which they can:
The audience is students in India preparing for school study and for competitive and school-level entrance examinations, including Navodaya, Simultala, Ramakrishna Mission, Sainik School, Military School, applicable BHU school-level entrances, scholarships, UPSC, NEET, JEE, BPSC, SSC, Banking, Railway, Defence, and Teaching. The application must be suitable for Android phones, tablets, iPhone/iPad, desktop, and laptop browsers, with Android phones prioritized.
MISSION AI is delivered as a real, production-oriented, mobile-first educational platform for web and Android. It uses React (or the platform's recommended framework), responsive CSS/Tailwind, Firebase Authentication, Firestore, secure backend APIs, and reusable components. API secrets are kept server-side.
Current delivery includes:
Actors are the Student (primary in-product actor), the Content Author / Notes Editor (authorized editing, validation, and version history of prepared content), and the Platform Administrator (security rules, backend authorization, AI endpoint abuse protection, secret management, and platform monitoring). Firebase Authentication and Firestore are provider-owned services; the AI provider is an external service reached only through the secure backend.
Narrow exclusions and boundaries:
MISSION AI is a first-party application with application-owned identity. Authentication is mandatory before accessing private features or personal data. The anonymous entry point is the Landing page, which explains MISSION AI before any identity establishment. Identity is established on the Login page, which is anonymously reachable and owns registration, sign-in, password confirmation, email verification, password reset, session persistence, sign-out, and provider linking. Protected state remains unavailable until identity is established.
After authentication, the application checks onboarding status and resumes incomplete onboarding on the Onboarding page, collecting name, class (6–12 or exactly Beyond Class 12), appropriate subjects, multiple selected examinations, language, and preferences, and saving all selections to the user's profile.
Content Author / Notes Editor and Platform Administrator access is provisioned rather than self-enrolled, with returning verification on the shared Login surface. Their working surfaces, Content Studio and Admin Console, are role-restricted.
Current delivery covers all accepted behavior described in this document. The following are explicitly out of current scope and are recorded as future horizons only: expandable future exams beyond the currently supported catalog, and any additional integrations not named in the authoritative requirements. Provider-owned responsibilities — Firebase Authentication, Firestore, and the external AI provider — remain with those providers and are reached only through the secure backend, which holds all secrets and server credentials.
No reference directive in this request declares content_source authority, so no source content inventory is included.
Each requirement is a distinct story point with provenance, lifecycle facts, and observable acceptance.
FR-01 — Real, non-demo application (explicit) As a Student, I should use a complete, production-ready MISSION AI application with real navigation, real authentication, real database persistence, real user profiles, real educational data, real quiz/exercise logic, real AI Mentor integration, real practice history, real mission tracking, real notes, real homework, and real tests and examinations, so that I am not using a demo, static prototype, landing page, or collection of mock screens.
FR-02 — Tagline and brand identity (explicit) As a Student, I should see the MISSION AI brand and the tagline "Learn Smarter, Achieve More." presented consistently, so that the product feels like a polished, modern, bold, energetic, intelligent, premium, student-friendly platform.
FR-03 — Cross-device responsive delivery (explicit) As a Student, I should use MISSION AI on Android phones, tablets, iPhone/iPad, desktop, and laptop browsers, with Android phones prioritized, so that the application is usable on my device.
FR-04 — Accessible controls, loading, empty, and error states (explicit) As a Student, I should encounter accessible controls, loading indicators, meaningful empty states, and clear error messages, so that I always understand what the application is doing.
FR-05 — Real Firebase authentication with four providers (explicit) As a Student, I should register and sign in using Google, Apple, Microsoft, or email/password through real Firebase authentication, so that my identity is genuine and my private data is protected.
FR-06 — Registration, sign-in, password confirmation, verification, reset, persistence, sign-out, and provider linking (explicit) As a Student, I should complete registration, sign-in, password confirmation, email verification, password reset, session persistence, sign-out, and provider linking, so that my account lifecycle is complete and secure.
FR-07 — No plaintext passwords, fake OTPs, or verification bypass (explicit) As a Student, I should have my credentials handled without plaintext password storage, fake OTPs, or bypassed verification, so that my account is genuinely protected.
FR-08 — Onboarding status check and resume (explicit) As a Student, I should have my onboarding status checked after authentication and my incomplete onboarding resumed, so that I never repeat completed steps.
FR-09 — Onboarding data collection and profile save (explicit) As a Student, I should provide my name, class, appropriate subjects, multiple selected examinations, language, and preferences during onboarding, so that MISSION AI personalizes my experience.
FR-10 — Class options 6–12 and exactly Beyond Class 12 (explicit) As a Student, I should choose my class from 6, 7, 8, 9, 10, 11, 12, and exactly Beyond Class 12, so that content matches my level.
FR-11 — Relevant subjects and expandable exam choices (explicit) As a Student, I should see only relevant subjects for my class and expandable examination choices, so that selection is focused and manageable.
FR-12 — Mobile-friendly bottom navigation (explicit) As a Student, I should navigate using mobile-friendly bottom navigation with Home, Practice, Mission Mode, Prepared Notes, AI Mentor, and Settings, so that primary destinations are always reachable.
FR-13 — Prepared Notes renamed for Beyond Class 12 (explicit) As a Beyond Class 12 Student, I should see Prepared Notes renamed to Competitive / Career Notes, so that the destination matches my exam-focused content.
FR-14 — Personalized Home content (explicit) As a Student, I should see personalized progress, continue learning, today's practice, active missions, upcoming tests/examinations, recent notes, quick actions, homework, and study planning on Home, without overcrowding, so that I can resume work immediately.
FR-15 — Objective question types (explicit) As a Student, I should answer MCQ, True/False, Fill in the Blank, Match the Column, One Word, Assertion–Reason, Case Based, and Picture Based questions, so that I practise every objective format.
FR-16 — Subjective answer types (explicit) As a Student, I should answer subjective short, long, and very long questions, so that I practise written formats.
FR-17 — AI evaluation of answers (explicit) As a Student, I should receive AI evaluation providing correctness, marks, missing points, explanations, model answers, and improvement suggestions, so that I understand my performance.
FR-18 — Saved attempts, scores, accuracy, and history (explicit) As a Student, I should have my attempts, scores, accuracy, and history saved, so that I can track progress over time.
FR-19 — NCERT-based quiz flow (explicit) As a Student, I should create a quiz through the flow Subject → Book → Chapter/Topic → Question Count → Start, so that I practise exactly the material I choose.
FR-20 — All Subjects Mixed and All Chapters Mixed (explicit) As a Student, I should choose All Subjects Mixed and All Chapters Mixed, so that I can practise across my whole syllabus.
FR-21 — Question count options and exact placeholder (explicit) As a Student, I should choose 10, 50, 100, or a custom count using the field with the exact placeholder "Enter how many quiz questions you want", so that I control quiz length.
FR-22 — Maximum questions: 100 and 1–100 enforcement (explicit) As a Student, I should see "Maximum questions: 100" and have counts enforced between 1 and 100, so that quiz length is bounded and predictable.
FR-23 — Exact unique question count or explained shortage (explicit) As a Student, I should receive exactly the requested number of unique questions or an explanation of the shortage, so that I am never misled about quiz length.
FR-24 — No duplicate or superficial questions (explicit) As a Student, I should never be given invented duplicates or superficial questions, so that my practice is genuine.
FR-25 — Answers and feedback hidden until submission (explicit) As a Student, I should have answers and feedback hidden until I submit, so that my practice is honest.
FR-26 — Quiz navigation and answer persistence (explicit) As a Student, I should use Previous, Skip, Next, see Question X of N, have my answers persisted, and revisit skipped questions, so that I can manage my attempt.
FR-27 — Quiz results content (explicit) As a Student, I should see correct, wrong, unanswered, score, percentage, and explanations in my results, so that I understand my outcome.
FR-28 — Exercise configuration (explicit) As a Student, I should configure exercises with single or multiple subjects, All Subjects, and 50/100 marks per subject, so that I can practise at the right scale.
FR-29 — Balanced exercise composition and accurate total marks (explicit) As a Student, I should receive balanced objective and subjective questions with accurate total marks, so that my exercise reflects the marks I chose.
FR-30 — Exercise answers never revealed before submission (explicit) As a Student, I should never see exercise answers before submission, so that my practice is honest.
FR-31 — Class-appropriate books and actual chapters only (explicit) As a Student, I should see only class-appropriate books and actual chapters, so that I never study content that does not exist for my class.
FR-32 — Supported NCERT books (explicit) As a Student, I should access applicable NCERT books including Curiosity Science for Classes 6–8, Ganita Prakash, Malhar, Vasant, Poorvi, Honeysuckle, Honeycomb, Sanskrit books, Computer, and GK where appropriate, so that my syllabus is covered.
FR-33 — Content matched to class, subject, book, chapter, and language (explicit) As a Student, I should have questions and notes matched to my selected class, subject, book, chapter, and language, so that everything I see is relevant.
FR-34 — Prepared Notes organization and content forms (explicit) As a Student, I should read ready-made Prepared Notes organized by Class → Subject → Book → Chapter → Topic, including definitions, explanations, examples, tables, formulas, diagrams, flowcharts, quick revision, and important questions where relevant, so that I can study and revise effectively.
FR-35 — Competitive / Career Notes for Beyond Class 12 (explicit) As a Beyond Class 12 Student, I should receive exam-specific Competitive / Career Notes, so that my preparation matches my target exams.
FR-36 — Generate → Validate → Quality Check → Publish pipeline (explicit) As a Student, I should only see AI-generated content that has passed Generate → Validate → Quality Check → Publish as approved prepared content, so that I can trust what is presented as approved.
FR-37 — Authorized editing and version history (explicit) As a Content Author / Notes Editor, I should edit prepared content with authorized access and maintain version history, so that corrections are traceable.
FR-38 — No guarantee of perfect accuracy (explicit) As a Student, I should understand that AI-generated content accuracy is never guaranteed, so that I use it appropriately.
FR-39 — Independent Mission per selected exam (explicit) As a Student, I should have each selected exam create an independent Mission, so that my preparation tracks are separate.
FR-40 — Supported examination catalog (explicit) As a Student, I should prepare for Navodaya, Simultala, Ramakrishna Mission, Sainik School, Military School, applicable BHU school-level entrances, scholarships, UPSC, NEET, JEE, BPSC, SSC, Banking, Railway, Defence, and Teaching, with expandable future exams, so that my target exams are covered.
FR-41 — Mission contents (explicit) As a Student, I should find exam information, verified syllabus, subjects, topics, prepared notes, practice, daily tasks, progress, remaining topics, important topics, revision, weak areas, and countdowns when official dates are available inside each Mission, so that I can run my campaign from one place.
FR-42 — Simultaneous missions stay independent (explicit) As a Student, I should have simultaneous missions remain independent, so that progress in one never affects another.
FR-43 — Separate Test system (explicit) As a Student, I should create Tests with subject, book, chapters, date, and time and use Prepare for Test, so that I can prepare for school tests.
FR-44 — Separate Examination system (explicit) As a Student, I should create Examinations with multiple subjects, books, chapter selections or all chapters, syllabus, name, date, and time, so that I can prepare for examinations.
FR-45 — Examination management actions (explicit) As a Student, I should use Prepare for Examination, Change Date, Postpone, Remove, and Cancel on my examinations, so that I can manage changing schedules.
FR-46 — Past events excluded from upcoming, retained in history (explicit) As a Student, I should have past events excluded from upcoming lists while historical records are retained, so that my upcoming view stays accurate and my history stays complete.
FR-47 — AI preparation plans use stored details and remaining time (explicit) As a Student, I should have AI preparation plans automatically use my stored details and remaining time, so that plans are realistic without re-entering information.
FR-48 — AI Mentor authorized context (explicit) As a Student, I should have the AI Mentor use my authorized context — profile, class, subjects, books, chapters, syllabus, missions, notes, homework, tests, examination dates, performance, and weak areas — so that its answers are personalized.
FR-49 — AI Mentor capabilities (explicit) As a Student, I should use Explain Topic, Ask Doubt, Make Study Plan, Revise Me, Analyze Mistakes, and Ask Anything, so that I get help for every study need.
FR-50 — Class-adapted explanations and three languages (explicit) As a Student, I should receive explanations adapted to my class level in English, Hindi, or Hindi + English, so that I understand the material in my language.
FR-51 — Realistic, adjustable study plans (explicit) As a Student, I should receive realistic, adjustable study plans based on available days, syllabus, difficulty, priorities, and performance, so that my plan fits my situation.
FR-52 — Study Planner integration (explicit) As a Student, I should have AI-generated plans integrated with the Study Planner, so that my plan lives in one place.
FR-53 — Never repeatedly ask for stored information (explicit) As a Student, I should never be repeatedly asked for information already stored, so that using MISSION AI stays efficient.
FR-54 — Homework creation, editing, completion, deletion, and lists (explicit) As a Student, I should create, edit, complete, and delete homework and view pending and completed lists, so that I can manage my assignments.
FR-55 — Homework fields (explicit) As a Student, I should record subject, title/question, description, and due date for each homework item, so that each assignment is fully described.
FR-56 — Solve Homework passes stored homework to AI Mentor (explicit) As a Student, I should use Solve Homework to pass the selected stored homework directly to AI Mentor, so that I get help without retyping.
FR-57 — Personal note fields and editing (explicit) As a Student, I should create and edit personal notes with title, content, subject, chapter, and topic, so that my notes are organized.
FR-58 — Bookmarks (explicit) As a Student, I should bookmark personal notes, so that I can return to important notes quickly.
FR-59 — Persistent text-level colors without recoloring unrelated text (explicit) As a Student, I should apply persistent text-level colors such as black, blue, and red to my notes without recoloring unrelated text, so that my highlighting stays precise.
FR-60 — Confirmed, permanent deletion with interface update (explicit) As a Student, I should have deletions confirmed, the selected record permanently removed, and the interface updated after successful operations, so that deletion is deliberate and accurate.
FR-61 — Stored profile fields (explicit) As a Student, I should have my Firebase UID, name, email, photo, class, subjects, exams, language, preferences, and onboarding status stored, so that my profile is complete and portable.
FR-62 — Settings sections (explicit) As a Student, I should find profile, class, subjects, exams, language, notifications, theme, AI preferences, security, privacy, support, About, and sign-out in Settings, so that I can control my experience.
FR-63 — Persistence of all educational records (explicit) As a Student, I should have notes, homework, quizzes, tests, examinations, practice history, scores, missions, progress, bookmarks, recent notes, study plans, and preferences persisted, so that nothing is lost.
FR-64 — Class isolation with preservation and restoration (explicit) As a Student, I should have educational records isolated by class, with old data preserved when I change classes and restored when I revisit them, so that my history stays intact.
FR-65 — Automatic April 1 advancement with manual switching (explicit) As a Student, I should have eligible classes advance automatically on April 1 with previous records preserved, and be able to switch manually, so that my class stays current without losing history.
FR-66 — Restrictive Firebase Security Rules (explicit) As a Student, I should be protected by restrictive Firebase Security Rules so that I can access only my own private records, so that my data stays private.
FR-67 — Backend authorization and input validation (explicit) As a Student, I should have authorization and input validated on the backend, so that invalid or unauthorized requests are rejected.
FR-68 — AI endpoint abuse protection and no exposed secrets (explicit) As a Student, I should have AI endpoints protected against abuse and no secrets or server credentials exposed, so that the platform stays secure.
FR-69 — Comprehensive error handling with actionable messages and retries (explicit) As a Student, I should have network, authentication, AI, database, validation, missing-content, date, save, and deletion errors handled with actionable messages and retries, so that I can recover from any failure.
FR-70 — Caching, pagination, deduplication, and loading states (explicit) As a Student, I should benefit from appropriate caching, pagination, deduplication, and loading states, so that the application stays fast and clear.
FR-71 — Automated and end-to-end verification (explicit) As a Platform Administrator, I should verify authentication and access control, onboarding recovery, CRUD operations, persistence after refresh, class isolation, mobile responsiveness, exact quiz counts, scoring, timers, AI evaluation, mission independence, date handling, and failure recovery through automated and end-to-end tests, so that the platform is proven to work.
FR-72 — Honest delivery reporting (explicit) As a Platform Administrator, I should have implemented features, required configuration, unavailable integrations, and remaining work clearly identified, and no feature claimed to work unless implemented and tested, so that delivery is honest.
FR-73 — Anonymous Landing entry (required_inference) As an anonymous visitor, I should reach a Landing page explaining MISSION AI before any identity establishment, so that I understand the product before signing in.
FR-74 — Provisioned author and administrator access (required_inference) As a Content Author / Notes Editor or Platform Administrator, I should have my access provisioned rather than self-enrolled, with returning verification on the shared Login surface, so that privileged surfaces stay controlled.
Product context. The Student is the primary in-product actor: a Class 6–12 or Beyond Class 12 learner in India preparing for school study and for competitive or school-level entrance examinations. They are mobile-first, frequently on an Android phone, and often study in a mix of Hindi and English. They may be running several preparation campaigns at once — a school test next week, a Navodaya or Sainik School entrance, and a long-horizon goal such as JEE, NEET, or UPSC.
Primary goal. Make measurable progress across subjects and exams, with persistent records isolated by class, and feel that studying is a campaign they are winning rather than a chore.
Distinct accepted responsibilities.
Relevant inputs and decisions. Which class and subjects to study; which examinations to pursue; how many questions to attempt; which question types to practise; whether to skip or answer a question; when to submit; which homework to solve with AI; which notes to bookmark and how to color them; which test or examination dates to set, change, postpone, remove, or cancel; which language to receive explanations in; when to change class manually.
Interactions with other accepted participants. The Student consumes prepared content produced and published by the Content Author / Notes Editor, and relies on the Platform Administrator for the security, reliability, and content integrity of the platform. The Student interacts with Firebase Authentication and Firestore as provider-owned services and with the AI provider only through the secure backend.
Observable success. Progress, scores, accuracy, missions, notes, homework, tests, examinations, bookmarks, recent notes, study plans, and preferences persist across refreshes; records remain isolated by class and are restored when a class is revisited; eligible classes advance automatically on April 1 with previous records preserved; quizzes return exactly the requested number of unique questions or explain the shortage; answers stay hidden until submission; and every failure produces an actionable message with a retry.
Product context. The Content Author / Notes Editor is a provisioned, non-self-enrolled role responsible for the quality of the prepared content that students read. The specification requires authorized editing and version history for prepared notes and a Generate → Validate → Quality Check → Publish pipeline before AI-generated content is presented as approved prepared content.
Primary goal. Ensure that every prepared note and competitive/career note presented to students as approved has passed the full pipeline, is correctly aligned to class, subject, book, chapter, and topic, and has a traceable version history.
Distinct accepted responsibilities.
Relevant inputs and decisions. Which class, subject, book, chapter, topic, or exam a content item targets; whether generated content passes validation; whether validated content passes quality check; whether to publish, hold, or edit; how to correct a published item while preserving version history.
Interactions with other accepted participants. The Content Author / Notes Editor produces the approved prepared content that the Student reads in Prepared Notes and Competitive / Career Notes. Access is provisioned rather than self-enrolled, with returning verification on the shared Login surface. The role works within the security and reliability posture established by the Platform Administrator.
Observable success. Every item visible to students as approved prepared content has a recorded pass through Generate → Validate → Quality Check → Publish; every edit produces a new version in version history; and no content reaches students as approved while any stage is incomplete.
Product context. The Platform Administrator is a provisioned, non-self-enrolled role responsible for the security, reliability, and content integrity of MISSION AI. The specification requires restrictive Firebase Security Rules, backend authorization and input validation, AI endpoint abuse protection, no exposed secrets or server credentials, and automated and end-to-end verification of authentication, access control, class isolation, scoring, timers, and failure recovery.
Primary goal. Keep the platform secure, reliable, and verifiably correct, with a maintained exam and syllabus catalog and no exposed secrets.
Distinct accepted responsibilities.
Relevant inputs and decisions. Security rule changes; authorization and validation policy; abuse protection thresholds; secret rotation; exam and syllabus catalog additions; test results and monitoring signals; delivery reporting accuracy.
Interactions with other accepted participants. The Platform Administrator protects the Student's private records and the Content Author / Notes Editor's privileged surfaces, and owns the security posture that both rely on. Access is provisioned rather than self-enrolled, with returning verification on the shared Login surface.
Observable success. Unauthorized access to another user's private records is denied; invalid or unauthorized backend requests are rejected; AI endpoints resist abuse; no secret or server credential is exposed; the exam and syllabus catalog is current and expandable; and the test suite demonstrably covers every listed verification area.
The creative direction is authoritative for this section. The muse is Paula Scher, and the headline idea is typography as architecture — a study platform that reads like a public-theater poster. Words fill the frame, colour blocks collide, and energy wins over polish. This maps directly onto the product's core nouns: Mission Mode, Prepare for Test, Prepare for Examination, Learn Smarter Achieve More. Every screen header becomes a rallying cry rather than a label, and hierarchy comes from scale and colour coding instead of generic dashboard cards — which keeps a dense six-section app legible on a 375px phone.
| Role | Hex | Use |
|---|---|---|
| Background | #F4F1EA | Warm off-white paper ground for the whole application |
| Surface | #FFFFFF | Cards and input surfaces only |
| Text | #111111 | Type colour everywhere; carries no softening |
| Primary | #E4321B | Poster red — full colour blocks, active nav pill, CTA, left edge band of section headers |
| Accent | #F5C518 | Signal yellow — highlight marker, countdown chip, underline stroke under active headings |
| Muted | #6B6862 | Secondary and de-emphasized text |
| Practice / correct | #0E7C6B | Teal for Practice and quiz states and correct answers |
| Mission / exam | #1B3A8C | Deep navy for Mission Mode and exam data |
| Wrong answers | #E4321B | Red, shared with primary |
Rules: never more than two colour blocks in one viewport; always hard-edged, never gradient. Body text on the off-white ground is #111111 at 16px minimum, giving a contrast ratio above 15:1. Red blocks carry white text only at 20px and above; small white text on red is forbidden — use black on yellow instead.
Type scale, 1.25 modular with poster jumps:
| Role | Size |
|---|---|
| Display | clamp(44px, 11vw, 132px) Anton |
| H1 | clamp(32px, 7vw, 64px) |
| H2 | 28px Archivo Black |
| H3 | 20px Archivo SemiBold |
| Body | 16px / 1.55 Archivo Regular |
| Micro-label | 12px uppercase, 0.14em |
| Numerals | clamp(40px, 9vw, 96px) Anton |
Hard edges only — 0px radius on cards, buttons, inputs, and modals. Colour blocks are perfect rectangles that bleed to the viewport edge. Diagonal bands (skewY -4deg) separate major sections. Rules are 3px solid black, used as section dividers and to underline active tabs. Chips and pills are the one exception: fully rounded stadium shapes, because they read as stickers pasted onto the poster. No soft shadows — depth comes from flat colour overlap and 3–4px black offset borders.
Asymmetric poster grid: a 12-column desktop grid where content occupies columns 1–7 and a colour block or oversized numeral occupies 8–12. On mobile it collapses to a single column where the colour block sits above the content as a full-bleed band. Section headers are full-width black bars with white uppercase type, numbered (01 PROGRESS, 02 TODAY'S PRACTICE, 03 ACTIVE MISSIONS) so the home screen reads as a programme. Bottom navigation is a fixed 5-item bar (Home, Practice, Missions, Notes, Mentor) with the sixth destination (Settings) behind the avatar in the top-right; each active item shows a red underline stroke that wipes in from left. Quiz questions occupy the full width with the question number set as a giant Anton numeral in the left margin, and answer options are full-width ruled rows separated by 3px black lines, not cards.
Typography is the image. No stock photography of students, no 3D blobs, no illustrations of people. Visual interest comes from oversized numerals as graphic objects, flat colour blocks with high-contrast type reversed out, a small set of thick-stroke single-colour pictograms for subjects and exam categories drawn at 32px on a 2px grid, and halftone-dotted texture at 8% opacity over red blocks for print-poster grain. Book covers and chapter art are rendered as flat colour rectangles with the book title set in Anton, not as photographic thumbnails.
The Campaign Poster Home. The authenticated Home screen opens with a full-bleed poster band, not a dashboard: a solid red #E4321B rectangle spanning the viewport, 42vh tall on mobile and 52vh on desktop, containing the Student's name set in Anton at clamp(44px, 11vw, 132px) in black, stacked across two or three lines flush left — for example "ARJUN, / CLASS 9. / 47 DAYS TO / NAVODAYA." The countdown numeral is the largest object on the screen. The red block bleeds off the right edge and is overlapped on its lower-left by a white card carrying today's practice CTA and a 3px black rule. A black ticker tape runs along the bottom edge of the band with the Student's upcoming tests and exam dates.
There is no centred headline, no subtext, and no button under a hero image — the name, the class, and the countdown are the hero, and the composition is deliberately asymmetric with the type running off the right edge of the band. Readable text and controls stay whole at 375px, 768px, and 1280px: the headline wraps or scales using its clamp() mobile size rather than being clipped, and the gesture of running off the edge is carried by the red colour block and the halftone texture, never by the type.
Below the band, the home screen continues as a printed programme: numbered black section bars — 01 PROGRESS, 02 TODAY'S PRACTICE, 03 ACTIVE MISSIONS — each a full-width #111111 band with white uppercase Anton type, followed by the corresponding real content: personalized progress, continue learning, today's practice, active missions, upcoming tests/examinations, recent notes, quick actions, homework, and study planning. The composition recomposes only accepted content, states, and controls; it introduces no new behaviour, page, or destination.
Interaction Model: Animated Motion Tempo: expressive Hero Dimensionality: flat
cubic-bezier(0.16,1,0.3,1); the red colour block slides in from the left edge to settle behind the wordmark; and the entry control resolves into place. The outcome is a composed poster first frame in which the product's identity and its single entry action are unmistakable — one gesture, no stagger cascade.#F4F1EA ground; a red #E4321B block bleeding off the right edge with 8% halftone grain; the MISSION AI wordmark and tagline reversed out in black on the red block at display scale; the scope statement in Archivo beneath; the entry control as a hard-edged black-bordered rectangle; and a black ticker tape along the lower edge carrying the supported class range and examination families.prefers-reduced-motion, the ticker becomes a horizontally scrollable row with snap points so every item can be brought fully into view, and headline reveals become instant opacity changes. The composed first frame is otherwise identical, and no readable text or control is ever cropped, clipped, or covered.NFR-01 — Mobile-first responsiveness across devices (explicit) The application must be suitable for Android phones, tablets, iPhone/iPad, desktop, and laptop browsers, with Android phones prioritized. Rationale: the authoritative specification names these devices and prioritizes Android phones.
NFR-02 — No layout defects (explicit) The interface must prevent horizontal overflow, clipped text, inaccessible buttons, keyboard-obscured inputs, broken dialogs, and unusable navigation. Rationale: these are named as defects to prevent.
NFR-03 — Accessible controls and clear states (explicit) Controls must be accessible, and the application must provide loading indicators, meaningful empty states, and clear error messages. Rationale: named as required presentation behavior.
NFR-04 — Restrictive Firebase Security Rules (explicit) Restrictive Firebase Security Rules must ensure users access only their own private records. Rationale: named as a security requirement.
NFR-05 — Backend authorization and input validation (explicit) Authorization and input must be validated on the backend. Rationale: named as a security requirement.
NFR-06 — AI endpoint abuse protection and secret isolation (explicit) AI endpoints must be protected against abuse, and no secrets or server credentials may be exposed. API secrets must be kept server-side. Rationale: named as a security requirement.
NFR-07 — No plaintext passwords, fake OTPs, or verification bypass (explicit) Plaintext passwords must never be stored, fake OTPs must never be issued, and verification must never be bypassed. Rationale: named as a binding security constraint.
NFR-08 — Comprehensive error handling with retries (explicit) Network, authentication, AI, database, validation, missing-content, date, save, and deletion errors must be handled with actionable messages and retries. Rationale: named as a reliability requirement.
NFR-09 — Caching, pagination, deduplication, and loading states (explicit) Appropriate caching, pagination, deduplication, and loading states must be used. Rationale: named as a performance and clarity requirement.
NFR-10 — Automated and end-to-end verification (explicit) Authentication and access control, onboarding recovery, CRUD operations, persistence after refresh, class isolation, mobile responsiveness, exact quiz counts, scoring, timers, AI evaluation, mission independence, date handling, and failure recovery must be verified through automated and end-to-end tests. Rationale: named as a verification requirement.
NFR-11 — Honest delivery reporting (explicit) Implemented features, required configuration, unavailable integrations, and remaining work must be clearly identified, and no feature may be claimed to work unless it has been implemented and tested. Rationale: named as a delivery requirement.
NFR-12 — No guarantee of perfect accuracy (explicit) Perfect accuracy of AI-generated content must never be guaranteed. Rationale: named as a binding constraint.
NFR-13 — Class isolation and preservation (explicit) Educational records must be isolated by class; changing classes must preserve old data and restore it when revisited; eligible classes must advance automatically on April 1 with previous records preserved, with manual switching available. Rationale: named as a data-integrity requirement.
NFR-14 — No repeated requests for stored information (explicit) The application must never repeatedly ask for information already stored. Rationale: named as a binding constraint.
NFR-15 — Real, non-simulated behavior (explicit) The application must not be a static demo, must not use fake authentication, must not use simulated APIs, and must not contain nonfunctional controls. Rationale: named as a binding delivery constraint.
Source-specified choices are preserved exactly:
Supporting infrastructure:
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!