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 Waitlist — The 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 Pro — The 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 Roadmap — The 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 Enforced — A 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 Fixed — Svix 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 Hardening — send-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 Fixes — Delete 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 Duplicates — The 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 Integrity — Review 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 Subject — The 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 Delete — Deleting 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 AI — The 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+ Sites — Settings 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 Fixes — The 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 Hygiene — CRLF → 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 Intelligence — Claritii 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 Behaviour — Every 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 Prioritisation — Study 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 Detection — When 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 & Profiles — New 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 Engine — A 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 Injection — The 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 API — A 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 Schema — The 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 Correction — The 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 Generation — Every 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 PDF — The 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 Fix — OpenRouter'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 Safety — The 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 Sync — Diagram 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 Prioritization — buildMaterialContext 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 Cleanup — Fixed 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 Components — useProgress 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 Revocation — Share 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 Enforcement — generateRoadmap 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 Integrity — When 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 Scoping — stableCardId 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 Fix — Server-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 Prevention — A 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 Removed — The 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 setnx — checkDuplicate 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 Fix — Fixed 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 Guard — Replaced 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 Audit — Every 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 Posts — Five 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 Headings — Two 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 Posts — Bold 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 Updated — v2.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 Generation — Bulk 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 Diagrams — AI-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 Model — OCR 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 Testing — Access temporarily restricted to authorised accounts during an ongoing testing period, with signups paused and Google login disabled for security.

Improvements

Comprehensive 5-Round Code Audit — Five 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 Fixed — The 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 Resolution — Fixed 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 Handling — Expired and missing key-value store entries now properly set expiration timestamps, preventing rate limit counters from persisting indefinitely.
Background Job Deduplication — The weekly cron now checks for existing background jobs before inserting new ones, preventing duplicate marketing email queues for the same content.
Platform Spend Days Calculation — Fixed the days-elapsed calculation for monthly budget projections to use calendar-day boundaries, giving more accurate spend forecasts.
Roadmap Scheduling Refinements — Step 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 Separation — Parent share tokens now use a dedicated HMAC secret instead of reusing the service role key, improving cryptographic separation between authentication systems.
Email System Security Hardening — Marketing 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 Fix — Usage count increments now use optimistic retry logic with up to 5 attempts, preventing lost updates under concurrent access.
GA4 JWT Encoding Fix — Google Analytics 4 JWT generation now uses URL-safe base64 encoding, fixing authentication failures that prevented admin dashboard analytics from loading.
Dashboard Bug Fixes — Fixed 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 Improvements — Practice 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 Fixes — Foreign 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 Optimisation — Removed 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 Fix — Fixed a bug where environment variable overrides were silently ignored in certain server configurations, ensuring all config values respect runtime overrides.
Image Generation Reliability — Fixed 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 Fixes — Fixed 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 Fix — Fixed 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 Enforcement — Fixed 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 Fix — Fixed 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 Key — Fixed 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 Accuracy — Fixed the session timer which occasionally displayed incorrect elapsed time or failed to start tracking when resuming interrupted sessions.
Redundant Roadmap Fetch Removed — Eliminated a redundant API call that was fetching roadmap data twice on dashboard load, reducing network overhead and improving page load speed.
Signup Verification Email Fix — Fixed 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 Fix — Fixed the delete account stored procedure which was failing due to missing dependencies. Account deletion now completes fully without database errors.
Subjects Fetch Reliability — Fixed an intermittent failure in the subjects fetch query that would occasionally return empty results, forcing users to refresh the page.
Onboarding Upload Flow Fix — Fixed 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 & Pricing — Fixed 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 Field — Fixed parent share tokens which were using a.name instead of a.id for token generation, causing invalid share links.
Cached Promise Clearing on Reject — Fixed a memory leak where cached promises for in-flight generation requests were never cleared on rejection, causing stale references to accumulate.
Timing-Safe HMAC Comparison — Replaced 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 Protection — A 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 Fix — checkAllQuotas 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 Infrastructure — Vitest 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 Option — Callers 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 Logging — Every 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 Improvements — The 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 Removed — The 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 Auth — syncTopicWeaknesses 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 Configuration — getRouter now creates a singleton QueryClient with staleTime (30s), gcTime (5min), retry (1), and refetchOnWindowFocus disabled - preventing unnecessary re-renders and API calls.
Dashboard Assessment Dismiss — Dismissing an assessment now uses update({ status: 'dismissed' }) instead of delete(), preserving the record in the database.
ESLint: jsx-a11y Plugin — The 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 Scheduling — Complete 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 PDFs — When 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 Dashboard — New 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 Extraction — PDF 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 Robustness — Replaced 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 minutes — Practice 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 Jitter — The 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 Sprint — 7 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 Tables — Row-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 Fix — verifyCronAuth 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 → zero — Fixed 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 reorganized — ui-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 extracted — Created _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 hardening — Added 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 safety — Replaced crypto.randomUUID() with counter-based stableKey() in React keys, preventing hydration mismatch on every render.
Dark mode compatibility — Hardcoded colors in DifficultyBadge, UrgencyBadge, Badge, and StatusBadge replaced with CSS variable references with hex fallbacks.
VAPID email configurable — Hardcoded mailto:support@claritii.com replaced with VAPID_CONTACT_EMAIL env var.
Dead code removed — SkeletonLine 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 Redundancy — Primary 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 Engine — Material 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 Dashboard — Admin 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-Generation — Content 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 ID — Webhook 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 quality — System 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 hardened — Fixed 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 performance — 7 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 removed — Removed 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 System — New 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 Sharing — Images 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 Dashboard — The 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 embeddings — The global-image-engine edge function uses OpenRouter for embedding generation (embedding model), consistent with the rest of the AI pipeline.
global_image_usage tracking table — Every 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 verified — Full 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 Integration — Every 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 Content — Flashcards, 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 images — Every 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 output — All 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 improved — Card 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 enhanced — Article 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 Library — All 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 Engine — Pro 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 Generation — Max 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 failures — Every 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 flow — Instead of a plain spinner, users now see step-by-step progress indicators ('Analysing uploaded material...', 'Creating study content...', 'Finalising...') during generation.
Robust in-flight dedup — Fixed 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 prompts — Removed duplicate role instructions and redundant context from AI prompts, saving approximately 30-40 tokens per generation call without reducing quality.
Database security audit — Added 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 Guides — Published 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 Preferences — You 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 Tabs — Fixed 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 Time — Removed 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-Redirect — If 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 Stability — Fixed the admin dashboard redirect loop after login. Route guards now properly handle server-side rendering and session initialization.
Dashboard Render Loop Fixed — Fixed an infinite re-render loop on the dashboard caused by unstable query data during loading. The dashboard now loads reliably.
Blog Rendering Fixed — Blog articles now render HTML properly - SVG illustrations, tables of contents, bold text, and links all display correctly instead of showing raw tags.
Blog Index Reordered — Study guides now appear at the top of the blog page, with product updates at the bottom for easier browsing.
Marketing Emails Now Automated — New 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 Handling — Network errors during signup now show a clear, helpful message instead of crashing silently.
Changelog System Overhaul — All 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 Integration — We now track site visits, page views, and key interactions via Google Analytics 4, giving us better insight into how students use Claritii.
Website Performance Boost — The 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 Metadata — Shortened page titles, expanded descriptions, and improved structured data markup help search engines better understand and rank Claritii.
Favicon & App Icons — Added proper favicon.ico and Apple touch icon support so Claritii looks polished in browser tabs and on iOS home screens.

Improvements

Assessment Editing — You can now edit existing assessments - change the name, due date, weight, status, or description directly from the subject page.
Roadmap Date Accuracy — The roadmap no longer schedules study sessions past an assessment's due date. Subjects with no remaining assessments are excluded from generation.
Auth & Profile Stability — Fixed 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 Restoration — Restored and hardened the complete email system - verification emails, password resets, and marketing emails all now work reliably with proper retry logic and logging.
Sitemap Enhancements — Added 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 Toggle — A 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-In — During 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 Emails — When 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 Notifications — New 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 Architecture — The new email system uses background jobs to process sends asynchronously, with deduplication to prevent sending the same notification twice.
Batch Sending with Rate Limiting — Emails are sent in batches of 50 with built-in rate limiting, ensuring reliable delivery even as the user base grows.
Automatic Retry on Failure — If 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 Layout — Mind 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 Everywhere — The 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 Bug — Mind 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 Diagrams — Upload 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 Library — The 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 Quality — Diagrams are now more detailed and accurate, with consistent styling across biology, chemistry, physics, and more.
Faster Generation — Diagrams 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 Dashboard — The admin dashboard now loads significantly faster by running multiple data sources at the same time.
Smoother Animations — Tab switches, toggles, and controls across the app now slide with polished animations for a more polished feel.
Better Error Detection — The 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 Protection — Your data is now better protected with improved database security across the platform.
Password Reset Fixed — Password reset was broken and now works correctly. You can reset your password without any issues.
More Reliable Billing — Subscription upgrades and downgrades are now handled correctly. You'll always have access to the features you've paid for.
Faster and Cleaner Experience — We 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 Heatmap — A 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 Demos — Blurting, 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 Sessions — Your study sessions stay visible for longer. Content you've already generated won't disappear, so your study plan persists reliably.
Exact Time Block Scheduling — You 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 Website — Every 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 Maps — Mind maps are cleaner with better visual hierarchy, bullet-pointed details in each expanded node, and consistent spacing across every branch.
Squad Friends Tab — Squad leaderboards now have a Friends tab so you can compare study time with your actual mates, not just the global leaderboard.
Clearer Assessment Progress — Session completion indicators show at a glance how close you are to finishing each assessment's study plan.
Email Verification Required — You now need to verify your email before using the app, giving you better account security from day one.
Fixed Celebration Trigger — The 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 Generation — Upload 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 Technique — Write 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 Technique — Structured 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 Technique — Explain 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 Flashcards — Flashcards 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 Demos — Every 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 Scheduling — Cards 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 Celebrations — The 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 Mode — Quizzes 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 Explanations — When 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 Tracking — The 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 App — Add 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 Demos — Every 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 Navigation — The navigation bar now stays visible as you scroll, giving you one-tap access to every section without scrolling back to the top.
Larger Touch Targets — Buttons and interactive elements across the entire app are now bigger and easier to tap on your phone.
Better Mobile Layouts — All 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 Sessions — Sessions 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 Roadmap — The 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 Notifications — When you paste your exam notification, Claritii extracts every dot point and maps it to specific study sessions. Nothing gets missed.
Workload Balancing — Study 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 Study — Add 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 Notifications — Get reminders for upcoming sessions, completion celebrations, friend activity, and streak warnings. Choose which notifications you want to receive.

Improvements

Complete Visual Redesign — The entire interface has been redesigned with a refined colour palette, smooth animations, and consistent spacing across every screen.
Subject Colours — Every 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 Performance — Page 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 Methods — Added 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 Mode — A recall-based study mode with AI rubric marking. Write down everything you remember, then get scored against what you should have known.
Multi-Step Sessions — Each study slot now contains sequenced activities - summary, then flashcards, then quiz, then blurting - for a complete learning cycle in one session.
Squad Preview on Website — A friends and leaderboard demo on the landing page so you can see how Squad works before signing up.

Improvements

Weekly Budget Enforcement — Each subject is now capped at its configured hours per week, preventing one subject from dominating your study schedule.
More File Types Supported — Added support for .pptx, .xlsx, .csv, and .json files alongside existing upload formats.
Squad Available for All Tiers — Squad (friends and leaderboards) is now available for every pricing tier, not just premium plans.
Interactive Landing Page — Added working demos for the dashboard, roadmap, quiz, study modes, and syllabus on the landing page.
Difficulty Heatmap on Dashboard — The 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 Service — Comprehensive legal pages covering data processors, billing, acceptable use, and NSW governing law.
Contact, About, Careers & Blog Pages — New pages including a contact form stored in Supabase, an about page, blog with starter posts, careers page, features page, and public product roadmap.
Updated Pricing — New 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 Heatmap — The Difficulty Priority Heatmap now pulls from real Supabase data - mastery scores, recency, calibration signals, and roadmap urgency - instead of demo data.
Pages Linked from Footer — All 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 Banner — A 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 Improvements — Minor 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-In — Added Google sign-in for faster, easier login alongside email-based authentication.
DOCX File Support — Added .docx file upload support alongside existing PDF and image uploads.

Improvements

Production Deployment — Claritii deployed to production at getclaritii.com - accessible to anyone with a link.
Database and Routing Fixes — Fixed 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 Material — Upload PDF notes, images of handwritten work, Word documents, and past papers. The AI extracts the content and builds your knowledge base automatically.
Subjects & Assessments — Create 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 Roadmap — Get 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 & Quizzes — The AI creates questions from your materials - multiple choice, short answer, true/false, and more. No manual flashcard creation required.
Flexible Pricing — Choose 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