Changelog

Product updates, new features, and improvements.

Closed-Beta Waitlist, Exam Prediction on Pro & the Reliability Sweep

v2.9.0 · August 2026

A minor release that sets the stage for public launch. Claritii now runs a proper closed-beta waitlist with a full-screen landing-page signup experience and confirmation emails, Exam Prediction moves to Pro where it always belonged, and per-subject difficulty settings finally drive the roadmap planner. Under the hood this is the most reliability-focused release yet: rate limiting actually enforces itself in production for the first time, 40+ silent error paths now surface to the user, edge functions were security-hardened, and 75+ fixes ship across the entire stack.

New Features

Closed-Beta WaitlistThe landing page now greets visitors with a full-screen waitlist overlay — pitch copy, email capture, success state, and ESC/backdrop dismissal, shown once per session. Every 'Log in' and 'Get started' call-to-action across the marketing pages routes through it. Joining upserts into a dedicated waitlist table (idempotent on email) and triggers a branded confirmation email via a new edge function. Owner login is preserved so the app stays testable during the closed beta.
Exam Prediction Now on ProThe AI exam prediction engine was gated to Max, but the feature spec, the features page, and the pricing copy all describe it as a Pro feature. Pro subscribers no longer hit an 'Upgrade to Max' wall — tier gating, upgrade copy, and analytics messaging updated everywhere to match.
Per-Subject Difficulty Now Drives the RoadmapThe difficulty slider in each subject's AI Tutor settings was written to the profile but never read — the roadmap planner ignored it entirely. The AI session plan now receives per-subject difficulty and applies a decision rule: subjects rated 4–5 get more study time and active-retrieval methods; subjects rated 1–2 get faster foundation-building methods.

Improvements

Rate Limiting Actually EnforcedA response-envelope bug in the atomic-counter RPC meant every rate-limit check read the window as empty — abuse, load, and quota limits never triggered in production. Fixed and verified end-to-end, with a new migration so capped counter keys reset atomically once their window expires. This is the first release where the limits you configure are real limits.
Resend Webhook Signature Verification FixedSvix signature verification always failed — base64 signature parts were hex-parsed, the signing secret was encoded wrongly, and there was no timestamp check — so email open/click events were never recorded. Now verifies each part correctly with 5-minute freshness and replay protection.
Edge Function Security Hardeningsend-release-announcement now requires the actual service-role bearer token (any Bearer string previously passed and could broadcast); marketing email jobs are claimed atomically with a status guard so overlapping cron invocations can't double-broadcast; and Stripe Customer Portal plan changes now resolve the tier correctly via price lookup instead of silently skipping the update.
Account & Auth FixesDelete account now removes the auth row first — a failed deletion leaves the account fully intact and retryable instead of a half-deleted broken login. Verify-email 'Continue' works without an existing session, and email verification/password reset now work for users beyond the first 50 (pagination fix in auth-actions).
Onboarding Quick Start No Longer DuplicatesThe Quick Start flow called the save path twice, writing every subject and schedule block twice. Now a single write per mount, guarded against double-fires, with user-facing errors on failure.
Spaced Repetition & Mastery IntegrityReview results that failed to save no longer silently reset your cards' intervals (the read path is fail-closed now), and the Review page feeds spaced-repetition ratings into topic mastery — reviewing cards genuinely moves your mastery scores and roadmap signals.
Roadmap AI Plan Matched Per SubjectThe AI's per-day plan was consumed positionally, so subject B's chosen topic could land on subject A's sessions. Plans are now matched by date/subject/assessment key, and roadmap regeneration no longer truncates completed history at 1000 rows.
No More Orphans on DeleteDeleting a subject or assessment now cleans up material chunks, generated content, and materials. Chunk storage writes inserts-first, so a failed insert can never leave your assessment's knowledge base empty.
LaTeX Instructions Actually Reach the AIThe AI's LaTeX teaching text was garbled — JavaScript string escaping ate the backslashes, so the model saw corrupted instructions like control characters instead of TeX. Now double-escaped correctly, so the model is genuinely taught $...$ / $$...$$ formatting for equations, chemical formulas, Greek letters, and scientific notation.
Silent Failure Sweep — 40+ SitesSettings saves, onboarding inserts, dashboard dismissals, friend search, Google login, email changes, session completion, marketing checks, and dozens of other handlers that swallowed errors now log and surface them to the user instead of silently doing nothing.
Crash Guards & UI FixesThe library page no longer crashes on orphaned content rows; diagram embeddings (PostgREST stringified vectors) now parse correctly before similarity search; warning/accent theme colors support opacity modifiers; session-type icons render their descriptions; blurting mode clears stale feedback between questions.
Repo & Engineering HygieneCRLF → LF line endings normalized repo-wide with .gitattributes enforcing the policy going forward, TypeScript 'any' cleanups across cron/ingest/audit, unused parameters removed, and 20+ DEV-only error logs now record in production.

Universal Subject Intelligence Engine — AI That Knows What You're Studying

v2.8.12 · July 2026

A new universal subject intelligence layer transforms Claritii into a subject-aware AI learning platform. Every subject family — mathematics, natural sciences, humanities, languages, computing, health, law, and more — now gets a specialised AI tutor with its own cognitive profile, teaching style, assessment preferences, and mode recommendations. The system adapts to 15 subject families using keyword detection plus AI-based classification, and injects family-specific prompt context into every content generation request.

New Features

Universal Subject IntelligenceClaritii now detects what subject family you're studying — mathematics, natural science, social science, humanities, language acquisition, language literature, creative arts, computing, engineering, health medicine, business, law, applied trades, physical education, or general — and tailors every AI interaction to match that family's cognitive characteristics. Mathematics gets precision and proof-focused prompts. Humanities gets argument analysis and contextual reasoning. Languages get immersion and pattern recognition. 15 families, each with a full cognitive profile.
Subject-Aware AI Tutor BehaviourEvery content generation request now receives family-specific system prompt enhancements. The AI tutor adjusts its teaching style per family: conceptual and visual for natural sciences, textual and thematic for humanities, procedural and rigorous for mathematics, contextual and communicative for languages, and analytical and evaluative for business and law. Generation prompts now include the detected subject family and recommended study modes.
Intelligent Mode PrioritisationStudy modes are now ranked per subject family. Mathematics prioritises problem-solving and active recall. Humanities favours blurting, mind mapping, and Feynman technique. Languages emphasise flashcards, cloze exercises, and spaced repetition. Computing and engineering get project-based and interleaving modes. The session generator picks modes that best match how each subject family is learned.
AI-Powered Subject DetectionWhen subject family can't be determined by keywords alone, the system falls back to AI-based classification via the reasoning model. Subject detection is added to the AI task routing pipeline with its own model mapping. Detection results are cached per assessment to avoid redundant API calls.
Database-Backed Rubrics & ProfilesNew database tables store subject profiles, topic progress, and study mode rubrics with 40 pre-seeded rubric rows covering all family/mode combinations. Rubrics define excellence criteria per subject family so marking and feedback are calibrated to what 'good' looks like in that domain.

Improvements

Subject Keyword Detection EngineA comprehensive keyword detection system maps assessment names, subject names, and topic names to subject families. Each family has curated keyword lists covering major subjects globally — from algebra and calculus to sonnets and sociolinguistics, from organic chemistry and tort law to strength training and web development.
Family-Specific Prompt InjectionThe generate-core pipeline now calls detectSubject + enhanceSystemPrompt for every content generation request. The enhanced prompt includes the detected family name, cognitive characteristics, recommended mode priorities, and LaTeX usage guidance specific to the family.
Route Recommendation APIA new getSubjectFamilyRouteRecommendations server function returns optimal study modes for any subject family, usable by the roadmap scheduler and session generator to make mode choices that align with how that subject is best learned.
Topic Progress Tracking SchemaThe migration adds topic_progress tracking per student per family node, enabling future analytics on cross-subject learning patterns and family-level mastery analysis.

Mastery Decay Correction, Session Topic Threading & PDF OCR Reliability

v2.8.11 · July 2026

A patch fixing critical correctness bugs in the mastery scoring system, threading the session topic through the content generation pipeline, and making PDF OCR reliable for scanned documents by rendering pages as images before sending to vision models. Diagram generation now properly extracts native image output from provider responses, and the knowledge memory engine type errors were resolved.

Improvements

Mastery Recency Decay CorrectionThe mastery recency decay was being applied to the new result instead of the prior score, meaning a perfect first attempt would get heavily decayed (storing a low score for brand-new knowledge). Now the decay correctly ages the stored prior score before blending with fresh evidence, so new knowledge is scored at full strength and only stale knowledge gets reduced weight. Read-time decay was also removed from getTopicMastery and getAllMastery - the stored masteryScore is now the canonical value.
Session Topic Threaded Into Content GenerationEvery roadmap session has a topic/subtopic, but the generation pipeline never received or used it. Now the topic is threaded end-to-end from the roadmap session, through server functions and cron handlers, into the generation core where it focuses the retrieval query and knowledge context. Content is now contextually aware of what topic the user is actually studying.
PDF OCR Fallback - Send Rendered PNGs Instead of Raw PDFThe PDF vision fallback was sending data:application/pdf;base64,... in an image_url field, which vision models don't support (they expect jpeg/png/webp). Now each PDF page is rendered to PNG via pdfjs-dist's OffscreenCanvas API and sent as multiple image_url parts. Router and provider layers now accept string | string[] for imageDataUri to support multiple image parts.
Diagram Generation Response-Parsing FixOpenRouter's chat-completions endpoint returns generated images in message.images (not message.content). The parser was reading only message.content (the caption text) and treating it as the image URL, so every diagram came back as a placeholder text caption. Added modalities: ['image', 'text'] to the request body for the image model, and added an early-return path that extracts the image URL from message.images[0].image_url.url.
Knowledge Memory Engine Type SafetyThe knowledge-memory engine defined its own SupabaseKnowledgeLike type with plain-Promise return shapes that didn't match the real supabase-js PostgrestFilterBuilder. Fixed by switching to the codebase-wide SupabaseLike type and making the search_knowledge_memory RPC result mapping type-safe (the RPC does not return relationships/material_id/content_hash/embedding, so the old cast was unsound). Resolved 8 typecheck errors.
Diagram Library Model Metadata SyncDiagram generation was hardcoding model: 'gemini-3.1-flash-image-preview' in stored model_metadata, which never matched the actual routed image model (google/gemini-2.5-flash-image). Now records the real model returned by the provider call.
Material Context PrioritizationbuildMaterialContext now sorts validContents so past papers come first, then assessment notifications, then syllabuses, then other materials. This ensures the limited context window is filled with the most important content first - exam format profiling is prioritized over general notes.
Edge Function CleanupFixed argument formatting in auth-actions (inconsistent trailing commas/lines), cleaned up unused variable in send-email (removed stray console.log reference), and fixed duplicate variable declaration in stripe-webhook.
Divide-by-Zero Guard in Progress ComponentsuseProgress and ProgressBar both divide by estimated/estimatedTotal. Added a guard so if a caller passes 0, NaN is not returned and ProgressBar doesn't peg at 95% forever.

Share Link Revocation, Per-Assessment Upload Limits & Marking Cache Integrity

v2.8.10 · July 2026

A patch focused on security, data integrity, and production hardening. Parent share links are now persisted with per-link revocation, server-side upload limits prevent assessment upload-slot abuse, marking results no longer overwrite user_id across students, and spaced-repetition cards are scoped by subject/assessment/topic to prevent identity collisions. Roadmap generation quota enforcement prevents runaway costs, and the load manager's unused request queue was removed.

New Features

Parent Share Link RevocationShare tokens are now persisted in a share_links table with an active flag. The settings page lists all active links with Copy and Revoke controls. A revokeParentShareToken server function lets you revoke any specific link immediately regardless of expiry. Token TTL corrected from 30 to 90 days to match the UI copy.
Per-Assessment Upload Limits (Server-Side)A new uploadMaterial server function enforces files_per_assessment from TIER_LIMITS before inserting into materials. Previously only enforced client-side. Max tier (Infinity) shortcuts to { ok: true }. 7 unit tests cover Free, Pro, and Max tier scenarios.
Roadmap Generation Quota EnforcementgenerateRoadmap now checks the monthly roadmap quota upfront via checkAllQuotas before any expensive DB or AI work. Exceeded requests return QUOTA_EXCEEDED with used/limit info. routeAIRequest accepts skipQuotaCheck to prevent double-counting. Tests confirm Free blocked on 2nd, Pro on 9th, Max on 31st monthly generation.

Improvements

Marking Results Cache - user_id IntegrityWhen two students submitted the same answer to the same question, the UNIQUE(cache_key) constraint caused the second student's upsert to overwrite the first student's user_id. RLS then blocked the first student from reading cached results. Fixed by dropping the UNIQUE constraint on cache_key and adding a unique index on (user_id, cache_key). Cache is now content-addressable with USING(true) SELECT policy. Scan-to-mark and practice paper questionId formats updated for cross-student cache sharing.
Spaced Repetition Card Context ScopingstableCardId now accepts optional subjectId/assessmentId/topic context mixed into the hash, so identical questions in different contexts produce distinct card IDs. The review module matches by scoped hash first, then unscoped (legacy), then topic label. Migration adds subject_id and assessment_id columns to card_reviews.
Email Verification & Password Reset Proxy FixServer-side proxy functions in auth-functions.ts replace direct browser calls to the auth-actions edge function, which returned 401 because it requires service-role Bearer auth. End-to-end tests added for both flows.
Friend Request Duplicate PreventionA BEFORE INSERT trigger on friend_requests rejects duplicate active requests between the same two users. Client-side self-request check added. Composite indexes for fast duplicate detection.
Load Manager Unused Queue RemovedThe entire in-memory request queue (enqueueOrExecute, processQueue) was removed. Tier-based delay is now applied inline. ~90 lines of dead code eliminated.
Atomic Abuse Checks via setnxcheckDuplicate and applyCooldown now use atomic set-if-not-exists (setnx) to prevent race conditions where concurrent requests could both pass the cooldown check.
Push Notification Preference Filter FixFixed a filter bug in send-push-notification that was checking the literal key 'type' instead of the actual notification preference type.
Chunk Recovery Sliding-Window GuardReplaced the single reload boolean with sessionStorage-based sliding window (max 3 reloads per 60s). Shows a minimal error page when exhausted instead of infinite reloading.

Blog Formatting Audit & Standardisation

v2.8.9 · July 2026

A comprehensive formatting audit across all 10 study guide blog posts. Five posts converted from plain text to structured HTML, standardised heading hierarchy added across all posts, and consistent closing sections applied. All study guides now share the same metadata, typography, and structural conventions.

New Features

10-Study Guide Formatting AuditEvery study guide post now uses consistent heading hierarchy (H1 title, H2 SVG sections, H3 for TOC), uniform metadata frontmatter, standardised typography (bold for key terms, ordered TOC lists, em-dashes throughout), and matching closing sections with actionable takeaways. No substantive content was changed.
HTML Conversion of Legacy Plain-Text PostsFive older study guides - active recall, Feynman technique, spaced repetition, how to study for exams, and blurting - were converted from plain text strings to the rich HTML format used by newer posts. Each now includes an in-article table of contents, SVG section dividers, and a 'The Bottom Line' closing section.

Improvements

Standardised Section HeadingsTwo posts had their closing section headings renamed from 'The Simplest Version That Works' and 'Putting It Together' to 'The Bottom Line', matching the majority pattern (3 of 5 existing HTML posts already used this format).
Key Terms Bolded Consistently Across All PostsBold formatting applied to key terms across all posts: active recall, Feynman Technique, spaced repetition, blurting, generation effect, SM-2 algorithm, Hermann Ebbinghaus, desirable difficulties, and more.
Changelog Updatedv2.8.11 added to changelog-data.ts and releases.ts with full feature and improvement documentation.

Comprehensive Audit, AI Upgrade & Production Hardening

v2.8.8 · July 2026

A major engineering sprint across five audit rounds touching 70+ files. Bulk content generation upgraded to a much higher quality model for richer study materials, image generation switched to native image output, and login restricted for testing. Comprehensive fixes across state management, accessibility, CSS, forms, TypeScript strictness, SEO, animation performance, database, error handling, dependencies, mobile, linting, security, and tests.

New Features

Higher Quality AI Model for Content GenerationBulk study material generation now uses a significantly improved AI model, producing richer, more accurate flashcards, summaries, and quizzes from your uploaded materials.
Native Image Output for DiagramsAI-generated diagrams now use direct native image output instead of SVG rendering, resulting in cleaner, more reliable visuals across all devices and platforms.
Dedicated Image Text Extraction ModelOCR and image transcription now uses a separate, specialised model optimised for extracting text from images and scanned documents, improving accuracy for handwritten notes and scanned PDFs.
Login Security During TestingAccess temporarily restricted to authorised accounts during an ongoing testing period, with signups paused and Google login disabled for security.

Improvements

Comprehensive 5-Round Code AuditFive rounds of systematic auditing across the entire codebase: state management and accessibility (round 1), CSS, forms, strict TypeScript, SEO, and animation performance (round 2), database queries, error handling, dependencies, and mobile responsiveness (round 3), linting, security, and test infrastructure (round 4), and state handling, a11y, auth guards, image loading, and string extraction (round 5). 70+ files touched, dozens of bugs fixed.
Account Deletion RPC FixedThe delete account function now correctly handles diagram_library, sent_marketing_events, and contact_submissions during account cleanup, ensuring complete data removal on request.
Content Cache Conflict ResolutionFixed cache key collisions in roadmap_cache (now includes user_id) and marking_cache (now includes question_id), preventing users from seeing each other's cached content.
Rate Limiter Store TTL HandlingExpired and missing key-value store entries now properly set expiration timestamps, preventing rate limit counters from persisting indefinitely.
Background Job DeduplicationThe weekly cron now checks for existing background jobs before inserting new ones, preventing duplicate marketing email queues for the same content.
Platform Spend Days CalculationFixed the days-elapsed calculation for monthly budget projections to use calendar-day boundaries, giving more accurate spend forecasts.
Roadmap Scheduling RefinementsStep sequences now chain together to fill available time more efficiently, and AI preview slots were consolidated to one per day per subject for cleaner roadmap previews.
Share Token Security SeparationParent share tokens now use a dedicated HMAC secret instead of reusing the service role key, improving cryptographic separation between authentication systems.
Email System Security HardeningMarketing email triggers now use service-role authentication instead of user session tokens. The send-email edge function validates redirect origins against an allowlist to prevent open redirect attacks.
Global Image Engine Race Condition FixUsage count increments now use optimistic retry logic with up to 5 attempts, preventing lost updates under concurrent access.
GA4 JWT Encoding FixGoogle Analytics 4 JWT generation now uses URL-safe base64 encoding, fixing authentication failures that prevented admin dashboard analytics from loading.
Dashboard Bug FixesFixed a variable name typo (celebreated → celebrated) that prevented celebration triggers from working. Fixed a CSS property (background → backgroundImage) that affected subject row styling.
Session View ImprovementsPractice paper sections now correctly inherit their type from section-level metadata when question-level type is missing. Blurting mode sessions now display with a distinct purple colour.
Database Migration FixesForeign key on study_session_events changed from SET NULL to CASCADE. Verification tokens RLS policy fixed with FOR ALL clause. Marking results table recreated with proper schema. Account deletion RPC updated for diagram_library contributor_id.
Code Cleanup and OptimisationRemoved unused imports across contact, forgot-password, and friends pages. Added try/catch blocks to marketing email trigger functions. Unused SVG upload function removed from diagram library. Deadline-sensitive content generation scheduling optimised.

Critical Bug Fixes - Env Overrides, Image Generation, Mobile Layout & Tier Gates

v2.8.7 · July 2026

A targeted patch fixing critical bugs across environment variable overrides, image generation reliability, mobile layout issues, roadmap AI scheduling, and pricing tier gate enforcement.

Improvements

Environment Variable Override FixFixed a bug where environment variable overrides were silently ignored in certain server configurations, ensuring all config values respect runtime overrides.
Image Generation ReliabilityFixed multiple failure modes in the AI image generation pipeline. Diagrams now reliably generate on first attempt, with proper fallback when primary generation fails.
Mobile Layout FixesFixed layout breakage on mobile devices across several pages including the dashboard and session view. Touch targets and spacing now work correctly on small screens.
Roadmap AI Scheduling FixFixed a bug where the roadmap AI would occasionally skip subjects or generate overlapping sessions. Scheduling now correctly accounts for all subjects and time blocks.
Tier Gate EnforcementFixed several pricing tier gates where Pro and Free users could access Max-only features. Feature restrictions are now properly enforced across all subscription levels.
Diagram Quota Mismatch FixFixed a quota mismatch where Free users were shown 0 diagrams instead of the correct 5 per session. The diagram generation counter now correctly references the tier-based limit.
Stale Model Cost KeyFixed a stale model cost key that caused spend tracking to under-report costs after model routing changes. Cost estimates now correctly reflect current model pricing.
Session Timer AccuracyFixed the session timer which occasionally displayed incorrect elapsed time or failed to start tracking when resuming interrupted sessions.
Redundant Roadmap Fetch RemovedEliminated a redundant API call that was fetching roadmap data twice on dashboard load, reducing network overhead and improving page load speed.
Signup Verification Email FixFixed the verification email flow where some users never received their verification link. The email system now reliably delivers verification emails on first attempt.
Delete Account RPC FixFixed the delete account stored procedure which was failing due to missing dependencies. Account deletion now completes fully without database errors.
Subjects Fetch ReliabilityFixed an intermittent failure in the subjects fetch query that would occasionally return empty results, forcing users to refresh the page.
Onboarding Upload Flow FixFixed a bug where file uploads during onboarding would fail silently, preventing new users from completing the setup process.
23 Bug Fixes Across Auth, Data Loss, PII & PricingFixed 23 bugs identified during audit round 3, including authentication edge cases, data loss under concurrent access, PII exposure in logs, and pricing calculation errors.
Share Token Uses Correct ID FieldFixed parent share tokens which were using a.name instead of a.id for token generation, causing invalid share links.
Cached Promise Clearing on RejectFixed a memory leak where cached promises for in-flight generation requests were never cleared on rejection, causing stale references to accumulate.
Timing-Safe HMAC ComparisonReplaced standard string comparison for HMAC verification with a timing-safe comparison function, preventing timing side-channel attacks on share tokens.

Rate Limiter Atomicity, Profile Column Protection & Error Handling Cleanup

v2.8.6 · July 2026

A patch focused on security hardening, infrastructure reliability, and code quality. The rate limiter now atomically pre-checks all quotas before incrementing, critical profile columns are protected from client-side escalation, and systematic error logging was added across the entire codebase. The roadmap engine was cleaned up, AI router gained transport retry control, and a testing infrastructure was introduced.

New Features

Profile Privileged Column ProtectionA database trigger now silently reverts any non-service_role attempt to change is_admin or tier on the profiles table, while allowing regular profile fields to update normally. This closes a privilege escalation vector where any logged-in user could previously promote themselves to admin or Max tier via a direct Supabase client call.
Rate Limiter Atomicity FixcheckAllQuotas now performs a read-only pre-check pass across all applicable metrics before incrementing any counter. Previously, when multiple quotas were checked together (e.g. daily + monthly uploads), an early metric could be incremented before discovering a later metric was at its limit - silently consuming quota for a denied request.

Improvements

Testing InfrastructureVitest is now configured as the test runner with npm run test and npm run test:watch scripts. The first unit tests cover the rate limiter (checkSlidingWindow, checkAndIncrementQuota, checkAllQuotas, getQuotaUsage) using an in-memory fake store, verifying quota atomicity and sliding window enforcement.
AI Router: skipTransportRetry OptionCallers with their own outer retry loop (e.g. generateWithRetryValidation) can now pass skipTransportRetry: true to suppress the transport-level retry+fallback inside route(), ensuring at most 1 real API call per invocation.
Systematic Error LoggingEvery bare .catch(() => {}) pattern across the codebase was replaced with structured console.warn logging that includes the module name and error message. This affects 30+ catch blocks across notifications, stripe, router, session functions, scan, onboarding, review, settings, dashboard, AILibraryCard, and AppLayout.
Accessibility ImprovementsThe Scan to Mark page now uses proper htmlFor/id pairs on all form labels and inputs, and added the eslint-plugin-jsx-a11y for automated accessibility linting going forward.
Roadmap Hardcoded Rotations RemovedThe three hardcoded content rotation arrays (urgentRotation, nearRotation, normalRotation) were removed from roadmap.functions.ts. Content type selection is now handled entirely by the dynamic rotation logic.
Session syncTopicWeaknesses: Fallback AuthsyncTopicWeaknesses now falls back to the user's access token when the service role key is unavailable, preventing failures in environments where only the anon key and user token are accessible. Errors are non-fatal and logged as warnings.
Singleton QueryClient with Proper ConfigurationgetRouter now creates a singleton QueryClient with staleTime (30s), gcTime (5min), retry (1), and refetchOnWindowFocus disabled - preventing unnecessary re-renders and API calls.
Dashboard Assessment DismissDismissing an assessment now uses update({ status: 'dismissed' }) instead of delete(), preserving the record in the database.
ESLint: jsx-a11y PluginThe eslint-plugin-jsx-a11y was added with its recommended config, providing automated accessibility checks as part of the linting pipeline.

Intelligent Roadmap Scheduling, Scanned PDF OCR & Platform Spend Monitoring

v2.8.5 · July 2026

A patch focused on roadmap intelligence, material ingest robustness, and admin visibility. The roadmap engine now uses proportional day-by-day allocation with urgency-based content rotations, scanned PDFs fall back to vision-based OCR, and the admin dashboard tracks projected monthly spend against budget.

New Features

Intelligent Roadmap SchedulingComplete rewrite of the roadmap scheduling engine. Each day's available time is now distributed proportionally across subjects based on per-day urgency. Content type rotations adapt to assessment proximity - urgent (≤3 days), near (≤7 days), and normal rotations each have tailored activity sequences. Day capping prevents last-minute overload by limiting any single day to ~2x the average daily load.
Vision-Based OCR for Scanned PDFsWhen a PDF contains too little extractable text (likely scanned or image-based), the system now falls back to a vision model for OCR transcription. If both text and vision extraction fail, a clear error message guides users to upload individual images instead of silently injecting near-empty text into AI context.
Platform Spend Monitoring DashboardNew admin dashboard section showing projected monthly spend, monthly budget, daily average cost, and a budget alert banner when projected spend exceeds the configured threshold. Powered by a new getPlatformSpend server function that queries usage_logs for the current month.

Improvements

Centralized AI Routing for Image ExtractionPDF and image text extraction now route through the centralized routeAIRequest function instead of calling OpenRouter directly, gaining multi-provider fallback and consistent error handling.
Similarity Scorer Lexical RobustnessReplaced fragile verb-pattern-based complexity/formality classification with proper lexical measurement - average word length as a complexity proxy and proportion of long (7+ char) words as a formality proxy. More robust across different question styles and subject domains.
Practice Paper Duration Capped at 45 minutesPractice paper sessions are now capped at 45 minutes per step to prevent excessive single-activity durations in long study blocks, keeping sessions focused and productive.
Removed Minimum Duration Floor in JitterThe 8-minute minimum floor was removed from applyDurationJitter (it now applies at the session level only), giving more natural duration variation while preserving the floor on total session length.

Security Hardening, Component Reorganization & Production Readiness

v2.8.4 · July 2026

A major production-quality engineering sprint. 135 TypeScript errors eliminated, 7 critical security vulnerabilities fixed across edge functions, CRON authentication refactored to fix the build, RLS policies added to unprotected tables, and the component architecture reorganized for maintainability.

New Features

Security Hardening Sprint7 critical edge function vulnerabilities fixed: auth-actions now requires service-role Bearer auth (was completely open), CORS validation uses proper domain matching instead of startsWith() in 5 functions, push notification types validated against allowlist to prevent PostgREST filter injection, and Resend webhook fails-closed when secret is missing.
RLS for Unprotected TablesRow-Level Security policies added to user_speed_profiles and study_session_events - both were completely unprotected. Missing DELETE/UPDATE policies added to diagram_library, global_images, global_image_usage, user_diagram_history, and contact_submissions.
Build System FixverifyCronAuth refactored from async dynamic import (which pulled node:async_hooks into the browser bundle) to a synchronous function accepting the auth header as a parameter. All 4 cron routes updated. Build now succeeds with 0 errors.

Improvements

135 TypeScript errors → zeroFixed every TypeScript error across image-library, material-ingest, monitoring, reasoning, spaced-repetition, analyze.functions, generate-core, cron.functions, roadmap.functions, generate.functions, and subjects.tsx.
Component architecture reorganizedui-bits.tsx split into 17 individual component files under src/components/ui/ with barrel re-export. AddSubjectModal and EditSubjectModal merged into single SubjectModal component with mode prop. React.memo added to AILibraryCard.
Shared modules extractedCreated _shared/email.ts, _shared/env.ts, _shared/rate-limit.ts, and _shared/cors.ts for edge functions. ~100 lines of duplicate code eliminated. Rate limiting added to auth-actions and send-email.
Database hardeningAdded set_updated_at() trigger function with triggers on 8 tables. Added FK constraint study_session_events.session_id → roadmap_sessions(id). Added index on roadmap_sessions.subject_id.
Markdown SSR safetyReplaced crypto.randomUUID() with counter-based stableKey() in React keys, preventing hydration mismatch on every render.
Dark mode compatibilityHardcoded colors in DifficultyBadge, UrgencyBadge, Badge, and StatusBadge replaced with CSS variable references with hex fallbacks.
VAPID email configurableHardcoded mailto:support@claritii.com replaced with VAPID_CONTACT_EMAIL env var.
Dead code removedSkeletonLine component removed - it was defined in ui-bits.tsx but never imported anywhere.

Production Hardening, AI Reliability & Admin Overhaul

v2.8.3 · June 2026

A comprehensive production readiness sprint. Multi-provider AI redundancy with fallback models, pgvector-powered retrieval, Stripe tier hardening, premium AI prompts, OpenRouter live credits dashboard, and automated daily content pre-generation for all users.

New Features

Multi-Provider AI RedundancyPrimary model with automatic fallback on failure. Validation retry with corrected prompts on malformed JSON. Nested JSON extraction using bracket-matching algorithm replaces fragile regex.
pgvector Retrieval EngineMaterial chunks now use pgvector with HNSW indexing for 10-50x faster semantic search. New search_material_chunks RPC replaces JavaScript-side cosine similarity. JSONB legacy column preserved for backward compatibility.
OpenRouter Live Credits DashboardAdmin dashboard now shows live OpenRouter credit balance, daily spend chart, daily token chart, and model cost breakdowns. Credits API provides authoritative ground truth; local tracking provides drill-down detail.
Automated Daily Pre-GenerationContent for all users with pending sessions is now pre-generated daily via cron jobs. Previously only Max-tier users had this. Hourly cron processes pending background jobs and retries stuck ones.

Improvements

Stripe tier derived server-side from price IDWebhook no longer trusts client-provided metadata. Tier is derived from subscription price IDs with env-var mapping, Stripe API product metadata, and subscription metadata - in that order.
Premium AI prompt qualitySystem prompt rewritten for personal coaching tone. AI now uses 7 teaching techniques: worked examples, memory aids, common mistakes, exam tips, concept connections, visuals, and mini self-tests.
Security: RLS policies hardenedFixed verification_tokens (was public → service_role), profiles (was public → own row), roadmap_sessions (was public → user-scoped). Cron endpoints now authenticated. 5 edge functions CORS-hardened from wildcard to app origin.
Database performance7 missing indexes added. 9 .single() → .maybeSingle() fixes preventing crashes. SELECT * replaced with specific columns in 10+ queries. sent_marketing_events column mismatch fixed.
4 unused dependencies removedRemoved react-is, clsx, tailwind-merge, @sentry/tanstackstart-react (~500KB). vite-tsconfig-paths moved to devDependencies.

Global Image Intelligence System & GA4 Admin Dashboard

v2.8.2 · June 2026

A production-grade Global Image Intelligence System with pgvector-powered semantic deduplication across all users. Images are now shared globally - no diagram is ever regenerated if a reusable equivalent exists. Plus Google Analytics 4 monitoring on the admin dashboard.

New Features

Global Image Intelligence SystemNew global_images table with pgvector(1536) embeddings for semantic image deduplication. A Supabase Edge Function (global-image-engine) handles find, store, and batch embed operations via OpenRouter. Hash match, vector similarity, and tag overlap provide multi-layer deduplication.
Cross-User Image SharingImages in the global library are reusable across all users. When a diagram is requested, the system checks the global registry first - only generating new images if no match exists. Usage tracking provides an intelligence feedback loop for ranking.
GA4 Admin DashboardThe admin dashboard now shows Google Analytics 4 configuration status, Measurement ID, and tracking coverage (page views, custom events, production-only gating). Clear guidance shown when GA4 is not yet configured.

Improvements

OpenRouter-powered embeddingsThe global-image-engine edge function uses OpenRouter for embedding generation (embedding model), consistent with the rest of the AI pipeline.
global_image_usage tracking tableEvery image reuse is logged with context, creating a feedback loop that improves search rankings over time - frequently reused images surface first in similarity matches.
Admin dashboard verifiedFull audit of admin dashboard - AI usage costs, user signups, PostHog analytics, Sentry errors, Resend email stats, and now GA4 tracking all verified operational.

AI Visual Content & Blog Image Enhancement

v2.8.1 · June 2026

All AI-generated study content is now significantly more visual, diagram-rich, and structured for rapid learning. The blog section gains featured images on every card and article, with improved spacing and article typography.

New Features

Image Library IntegrationEvery AI-generated image and diagram now persists in a central Image Library with topic, subject, and concept tags. Images are deduplicated and reused across users - a mitosis diagram won't be regenerated twice.
Visual-first AI ContentFlashcards, quizzes, summaries, and practice papers now include diagram hints, image tags, and visual structure markers. Summaries use comparison tables, flow arrows, and sectioned layouts instead of dense paragraphs.
Blog featured imagesEvery blog card and article now displays a relevant Unsplash hero image. Cards show a 16:10 thumbnail and articles open with a wide hero banner, making the blog feel significantly more visual.

Improvements

AI prompts rewritten for visual outputAll 10 content generation prompts now instruct the AI to prefer diagrams, tables, and structured formatting over paragraphs. Blurting, active recall, and Feynman technique prompts include diagram hints for visual recall.
Blog spacing improvedCard grid gap increased from 20px to 24px for better breathing room. Article body upgraded from text-sm (14px) to text-base (16px) with looser line-height for significantly improved readability.
Article typography enhancedArticle body now uses max-w-[65ch] for optimal line length (~65 characters), leading-loose (2.0 line-height), and 90% opacity text for comfortable reading.

AI Reliability, Content Library & Adaptive Timing

v2.8.0 · June 2026

This minor release overhauls the AI generation pipeline to eliminate silent failures, introduces a persistent AI Library for all generated content, and adds an Adaptive Learning Timing Engine for Pro and Max users. Max plan users now get daily automatic study material generation.

New Features

AI LibraryAll generated flashcards, quizzes, summaries, and practice papers are now permanently saved and accessible from the new AI Library page. Browse, search, and filter your content by subject or type.
Adaptive Learning Timing EnginePro and Max users receive personalised study time estimates based on their actual performance speed. The engine learns from your session history and adjusts card counts and session durations accordingly.
Max Plan - Automatic Daily GenerationMax plan users no longer need to manually generate study materials. Every day, all required resources for that day's roadmap are automatically generated in the background before you start studying.

Improvements

Eliminated silent AI failuresEvery generation request now ends with visible content, a clear error message with retry, or a graceful cancellation. No more indefinite spinners or completed requests with no output.
Generation progress flowInstead of a plain spinner, users now see step-by-step progress indicators ('Analysing uploaded material...', 'Creating study content...', 'Finalising...') during generation.
Robust in-flight dedupFixed a race condition where rapid double-clicks on Generate would return empty content. Concurrent duplicate requests now properly await the first request's result.
Token-optimised promptsRemoved duplicate role instructions and redundant context from AI prompts, saving approximately 30-40 tokens per generation call without reducing quality.
Database security auditAdded RLS policies to kv_store, metrics, and all four AI cache tables. Fixed overly permissive email_events and email_stats policies. Tightened diagram_library write access.

Bug Fixes, Blog & Content Scaling

v2.7.2 · June 2026

This patch squashes several bugs that affected login persistence, roadmap content limits, and the admin dashboard. We also published four new evidence-based study guides, added auto-redirect for logged-in users, and overhauled the changelog system.

New Features

Four New Study GuidesPublished new blog articles covering how to study smarter, the science of effective revision, building study timetables, and stopping procrastination before exams. Each article includes a clickable table of contents and SVG illustrations.
Granular Marketing Email PreferencesYou can now choose which types of email updates to receive: major releases, minor releases, patches, or blog posts - independently toggled from your notification settings.

Improvements

Remember Me Now Works Across TabsFixed a server-side rendering bug that was silently signing users out when they opened a new browser tab. The 'Remember me' checkbox now correctly persists your session.
Content Generation Scales With Study TimeRemoved hardcoded caps on flashcards (was 25 max), quiz questions (was 15 max), and practice papers (was 45 min max). Content now scales proportionally to your available study time.
Login & Landing Page Auto-RedirectIf you're already logged in, visiting the login page or landing page now automatically sends you to your dashboard instead of showing the sign-in form.
Admin Dashboard StabilityFixed the admin dashboard redirect loop after login. Route guards now properly handle server-side rendering and session initialization.
Dashboard Render Loop FixedFixed an infinite re-render loop on the dashboard caused by unstable query data during loading. The dashboard now loads reliably.
Blog Rendering FixedBlog articles now render HTML properly - SVG illustrations, tables of contents, bold text, and links all display correctly instead of showing raw tags.
Blog Index ReorderedStudy guides now appear at the top of the blog page, with product updates at the bottom for easier browsing.
Marketing Emails Now AutomatedNew blog posts and releases are automatically queued for email delivery. No more manual triggering required - subscribers get notified when content goes live.
Better Signup Error HandlingNetwork errors during signup now show a clear, helpful message instead of crashing silently.
Changelog System OverhaulAll 37 releases are now in an immutable, append-only database with proper versioning and anti-mutation protection. Updates and changelog pages read directly from this system.

Stability, SEO & Performance Patches

v2.7.1 · June 2026

A major behind-the-scenes upgrade focused on making Claritii faster to load, easier to find on Google, and more accessible. We improved site speed, added Google Analytics, optimised metadata, and fixed several core stability issues.

New Features

Google Analytics 4 IntegrationWe now track site visits, page views, and key interactions via Google Analytics 4, giving us better insight into how students use Claritii.
Website Performance BoostThe homepage now loads significantly faster by deferring below-fold sections until they're scrolled into view. Critical fonts are preloaded to avoid flash-of-unstyled-text.
Improved SEO MetadataShortened page titles, expanded descriptions, and improved structured data markup help search engines better understand and rank Claritii.
Favicon & App IconsAdded proper favicon.ico and Apple touch icon support so Claritii looks polished in browser tabs and on iOS home screens.

Improvements

Assessment EditingYou can now edit existing assessments - change the name, due date, weight, status, or description directly from the subject page.
Roadmap Date AccuracyThe roadmap no longer schedules study sessions past an assessment's due date. Subjects with no remaining assessments are excluded from generation.
Auth & Profile StabilityFixed issues where the profile avatar would disappear or the 'remember me' checkbox would cause login failures. Profile queries now retry on transient errors.
Email System RestorationRestored and hardened the complete email system - verification emails, password resets, and marketing emails all now work reliably with proper retry logic and logging.
Sitemap EnhancementsAdded last-modified dates to all sitemap entries and included the latest blog post for better crawl efficiency.

Marketing Email Subscriptions

v2.7.0 · June 2026

You can now choose to receive email updates when we publish new blog posts or release product updates. Opt in during signup or from your notification settings - and if you're opted in, you'll get a clean, structured email with the full update summary straight to your inbox.

New Features

Email Subscription ToggleA new 'Receive updates and blog emails' toggle in your notification settings lets you opt in or out at any time. Changes save instantly.
Signup Opt-InDuring account creation, there's now an optional checkbox to subscribe to updates. It's unchecked by default - you choose whether to opt in.
Structured Update EmailsWhen a new release is published, subscribed users receive a well-formatted email with the overall update summary, new features list, and improvements list - no raw JSON or technical jargon.
Blog Post NotificationsNew blog posts trigger a notification email to subscribed users, including the post title, excerpt, and a direct link to read the full article.

Improvements

Event-Driven ArchitectureThe new email system uses background jobs to process sends asynchronously, with deduplication to prevent sending the same notification twice.
Batch Sending with Rate LimitingEmails are sent in batches of 50 with built-in rate limiting, ensuring reliable delivery even as the user base grows.
Automatic Retry on FailureIf an email fails to send, the system retries up to 3 times before marking the job as failed, so transient errors don't cause missed notifications.

Overhauled Mind Maps

v2.6.1 · June 2026

Mind maps got a complete visual overhaul. They now use a clean card-based layout with no overlapping nodes, so complex topics are easier to explore. The same structured layout is used everywhere - on the website demo and inside study sessions.

Improvements

Card-Based Mind Map LayoutMind maps now use a structured card and pill layout instead of absolute positioning. Every category is a card with a coloured accent, and sub-topics appear as clean pills inside. No more overlapping or hard-to-read diagrams.
Consistent Layout EverywhereThe website demo and the real Mind Mapping session mode now share the same card-based layout. What you see on the landing page is exactly what you get when you study.
Fixed Rendering BugMind maps no longer crash with a 'gap is not defined' error when rendering complex diagrams with many nodes.

Diagram Intelligence System

v2.6.0 · June 2026

Diagrams are now smarter and more useful than ever. Every diagram is generated by AI, so you get clear, custom visuals for any topic - and you'll never see the same diagram twice.

New Features

AI-Powered DiagramsUpload your notes and Claritii creates custom diagrams for any topic - from biology cells to physics circuits. Every diagram is generated fresh by AI.
Smart Diagram LibraryThe system remembers which diagrams you've already seen. You'll never get the same diagram twice, so every one you see is useful and new.

Improvements

Better Diagram QualityDiagrams are now more detailed and accurate, with consistent styling across biology, chemistry, physics, and more.
Faster GenerationDiagrams generate faster and more reliably. If generation fails, the system automatically retries with a different approach.

Performance & Reliability Improvements

v2.5.15 · June 2026

This update makes Claritii faster and more reliable when lots of people are using it. Pages load quicker, errors are caught faster, and every interaction feels smoother.

Improvements

Faster DashboardThe admin dashboard now loads significantly faster by running multiple data sources at the same time.
Smoother AnimationsTab switches, toggles, and controls across the app now slide with polished animations for a more polished feel.
Better Error DetectionThe app now catches and reports errors more reliably, so bugs get identified and fixed faster.

Security & Reliability Update

v2.5.14 · June 2026

This update focuses on keeping your data safe and making the app more reliable. We fixed critical security issues, improved password reset, and cleaned up the codebase.

Improvements

Better Data ProtectionYour data is now better protected with improved database security across the platform.
Password Reset FixedPassword reset was broken and now works correctly. You can reset your password without any issues.
More Reliable BillingSubscription upgrades and downgrades are now handled correctly. You'll always have access to the features you've paid for.
Faster and Cleaner ExperienceWe consolidated multiple system configurations into one, removed unused code, and fixed duplicate logic throughout the app.

Smarter Planning & Better Analytics

v2.5.0 · June 2026

This release makes everything faster, smarter, and more consistent. Your analytics update in real time, your roadmap adapts as you learn, and every demo on our website now shows you exactly what you'll get after signing up.

New Features

Difficulty Priority HeatmapA colour-coded heatmap on your dashboard shows which topics need attention - from critical to mastered - so you know exactly where to focus your study time.

Improvements

Interactive Study Technique DemosBlurting, Active Recall, and Feynman Technique demos now auto-fill with example writing so you can see how each method works before creating your own sessions.
Persistent Roadmap SessionsYour study sessions stay visible for longer. Content you've already generated won't disappear, so your study plan persists reliably.
Exact Time Block SchedulingYou can now set exact time blocks for each study session. Tell us you're free from 3–5pm and 7–8pm, and we'll build your plan around those slots.
Real Components on the WebsiteEvery demo on the landing page now uses the same components as the real app. What you see is exactly what you'll get - no mockups, no illusions.
Cleaner Mind MapsMind maps are cleaner with better visual hierarchy, bullet-pointed details in each expanded node, and consistent spacing across every branch.
Squad Friends TabSquad leaderboards now have a Friends tab so you can compare study time with your actual mates, not just the global leaderboard.
Clearer Assessment ProgressSession completion indicators show at a glance how close you are to finishing each assessment's study plan.
Email Verification RequiredYou now need to verify your email before using the app, giving you better account security from day one.
Fixed Celebration TriggerThe completion celebration now only triggers when every session for an assessment is actually finished - no more false confetti.

AI Diagrams & Study Techniques

v2.4.0 · June 2026

Three new study techniques and AI-powered diagram generation. You can now learn through Blurting, Active Recall, and the Feynman Technique - three of the most effective methods in education research. And when a picture is worth a thousand words, our AI generates clear diagrams from your notes.

New Features

AI-Powered Diagram GenerationUpload your biology, chemistry, or physics notes and the AI produces clear, annotated diagrams - from plant cells and mitochondria to human circulatory systems and circuits.
Blurting TechniqueWrite down everything you remember without checking your notes, then compare against the source material. Identify gaps, correct mistakes, and refine your understanding step by step.
Active Recall TechniqueStructured self-questioning that forces you to retrieve information from memory. The app tracks your attempts and highlights what you knew versus what you missed.
Feynman TechniqueExplain a concept in simple language as if teaching a complete beginner. The app identifies gaps in your explanation and prompts you to simplify until the concept is crystal clear.

Improvements

Smarter FlashcardsFlashcards now use a 1–5 rating system. Cards you almost remember show up sooner than cards you've mastered, making your review time more effective.
Better Website DemosEvery section of the landing page now shows a different feature in action, giving you a complete tour of what Claritii can do before you sign up.
Fixed Flashcard SchedulingCards no longer reappear too soon or too late. The scheduling now properly accounts for your review history.

Celebrations & Mixed Quizzes

v2.3.0 · June 2026

Finishing an assessment's worth of study should feel like an achievement. Now you get full-screen confetti celebrations when you complete a study plan. Quizzes are smarter too, with mixed question types and detailed explanations for every answer.

New Features

Completion CelebrationsThe moment you finish the last session for an assessment, a full-screen celebration with animated confetti appears. Finishing a study plan deserves more than just an empty page.

Improvements

Mixed Quiz ModeQuizzes now combine multiple-choice and open-ended questions in the same session, just like real exams where you face different question types back to back.
Smarter Wrong-Answer ExplanationsWhen you get a question wrong, the quiz explains what you chose, what the correct answer is, and what likely led you to the wrong choice - so you fix the real misunderstanding.
Clearer Progress TrackingThe roadmap and dashboard now show exactly how many sessions remain for each assessment and which subjects need the most attention.

Mobile Experience & Website Redesign

v2.2.0 · June 2026

Most of you use Claritii on your phone, so we rebuilt the mobile experience from the ground up. The website has been completely redesigned with interactive demos for every feature - try them right on the page before signing up. You can now install Claritii on your home screen like a native app.

New Features

Install Like a Native AppAdd Claritii to your phone's home screen. It launches in its own window, appears in your app switcher, and supports offline access to your roadmap.
Interactive Website DemosEvery major feature now has its own interactive demo on the website. Try the roadmap, flashcards, quizzes, mind maps, and Squad - all running live on the page before you sign up.

Improvements

Sticky Mobile NavigationThe navigation bar now stays visible as you scroll, giving you one-tap access to every section without scrolling back to the top.
Larger Touch TargetsButtons and interactive elements across the entire app are now bigger and easier to tap on your phone.
Better Mobile LayoutsAll pages have been re-spaced for small screens. Content no longer feels cramped, and text is readable without zooming.

Smarter Planning

v2.1.0 · June 2026

The biggest upgrade to the roadmap since launch. Your study sessions are now automatically sized to match your actual availability, and workload balancing keeps your schedule manageable across all your subjects.

Improvements

Time-Aware SessionsSessions now match your available time. Have two hours free? You'll get a balanced plan across your subjects. Only 15 minutes? You'll get a quick flashcard or quiz session.
Clearer Daily RoadmapThe daily roadmap shows estimated durations, topic previews, and progress indicators. You can see at a glance what's planned and how long each session will take.
Smarter Assessment NotificationsWhen you paste your exam notification, Claritii extracts every dot point and maps it to specific study sessions. Nothing gets missed.
Workload BalancingStudy time is automatically distributed across your subjects. Subjects with closer deadlines or lower mastery scores get proportionally more attention.

Major Redesign & Squad Study

v2.0.0 · June 2026

Claritii gets its biggest visual overhaul since launch, and we're introducing Squad - a whole new way to study together. Add friends, share your progress, compete on leaderboards, and keep each other accountable.

New Features

Squad - Social StudyAdd friends, see their activity in a real-time feed, and compare progress on leaderboards. Study streaks, session counts, and total hours are all tracked and ranked.
Push NotificationsGet reminders for upcoming sessions, completion celebrations, friend activity, and streak warnings. Choose which notifications you want to receive.

Improvements

Complete Visual RedesignThe entire interface has been redesigned with a refined colour palette, smooth animations, and consistent spacing across every screen.
Subject ColoursEvery subject now gets its own colour for easy visual tracking. Chemistry is blue, English is warm amber, maths is green - identify any subject at a glance.
Faster PerformancePage loads are faster and data fetching is more reliable. The app handles more users more efficiently.

Eight Study Methods, Blurting Mode & Multi-Step Sessions

v1.4.0 · 2026-06-18

This release brought eight new study methods, multi-step sessions with sequenced activities, and a weekly study budget to keep your schedule balanced.

New Features

Eight New Study MethodsAdded Active Recall, Spaced Repetition, Feynman Technique, Pomodoro, Interleaving, Mind Mapping, Dual Coding, and Productive Study Environment - giving you a full toolkit of learning techniques.
Blurting ModeA recall-based study mode with AI rubric marking. Write down everything you remember, then get scored against what you should have known.
Multi-Step SessionsEach study slot now contains sequenced activities - summary, then flashcards, then quiz, then blurting - for a complete learning cycle in one session.
Squad Preview on WebsiteA friends and leaderboard demo on the landing page so you can see how Squad works before signing up.

Improvements

Weekly Budget EnforcementEach subject is now capped at its configured hours per week, preventing one subject from dominating your study schedule.
More File Types SupportedAdded support for .pptx, .xlsx, .csv, and .json files alongside existing upload formats.
Squad Available for All TiersSquad (friends and leaderboards) is now available for every pricing tier, not just premium plans.
Interactive Landing PageAdded working demos for the dashboard, roadmap, quiz, study modes, and syllabus on the landing page.
Difficulty Heatmap on DashboardThe Difficulty Priority Heatmap now shows real data on your dashboard, not just demo content.

Legal Pages, Working Heatmap & Pricing Update

v1.3.0 · 2026-06-18

We added all the legal pages you would expect from a serious platform, wired the Difficulty Heatmap to real data, and updated our pricing tiers.

New Features

Privacy Policy & Terms of ServiceComprehensive legal pages covering data processors, billing, acceptable use, and NSW governing law.
Contact, About, Careers & Blog PagesNew pages including a contact form stored in Supabase, an about page, blog with starter posts, careers page, features page, and public product roadmap.
Updated PricingNew pricing tiers: Student Pro $8.99/mo, Student Max $17.99/mo, Standard Pro $12.99/mo, Standard Max $24.99/mo.

Improvements

Live Difficulty HeatmapThe Difficulty Priority Heatmap now pulls from real Supabase data - mastery scores, recency, calibration signals, and roadmap urgency - instead of demo data.
Pages Linked from FooterAll new legal and marketing pages are linked from the footer and navigation for easy access.

Cookie Consent, Analytics & Error Monitoring

v1.2.0 · 2026-06-17

We added cookie consent for privacy compliance, analytics to understand how students use Claritii, and error monitoring to catch and fix bugs faster.

New Features

Cookie Consent BannerA cookie consent banner for privacy compliance, giving you control over your data preferences.
Product Analytics (PostHog)Integrated PostHog analytics to understand how students use Claritii and where we can improve.
Error Monitoring (Sentry)Integrated Sentry error monitoring to catch and fix bugs faster, making the app more reliable.

Improvements

Text and Copy ImprovementsMinor text and copy improvements across the app for clarity and consistency.

Claritii Goes Live

v1.1.0 · 2026-06-16

Claritii deployed to production at getclaritii.com. Google sign-in added for faster login, .docx file upload support, and various fixes.

New Features

Google Sign-InAdded Google sign-in for faster, easier login alongside email-based authentication.
DOCX File SupportAdded .docx file upload support alongside existing PDF and image uploads.

Improvements

Production DeploymentClaritii deployed to production at getclaritii.com - accessible to anyone with a link.
Database and Routing FixesFixed database migration and routing issues that affected early users.

Initial Release

v1.0.0 · Pre-Beta

Welcome to Claritii - your AI-powered study coach. Upload your materials, set your schedule, and we build your personalised study plan with flashcards, quizzes, and practice papers. This is the first step toward a world where studying isn't a chore.

New Features

Upload Any Study MaterialUpload PDF notes, images of handwritten work, Word documents, and past papers. The AI extracts the content and builds your knowledge base automatically.
Subjects & AssessmentsCreate subjects and track upcoming assessments with due dates, weightings, and detailed topic breakdowns. Your study plan always aligns with what's coming up.
Personalised Daily RoadmapGet a day-by-day study plan generated by AI. Based on your assessments, available time, and learning priorities, the roadmap tells you exactly what to study and when.
AI Flashcards & QuizzesThe AI creates questions from your materials - multiple choice, short answer, true/false, and more. No manual flashcard creation required.
Flexible PricingChoose from Free, Pro, and Max tiers. Free gives you everything you need to get started. Pro unlocks unlimited subjects and assessments. Max adds advanced features for serious exam preparation.

We use cookies to improve your experience and analyze usage. Learn more