UpdateDrop unsafe @next/swc-win32-x64-msvc dep from PR #145
—PR #145 added the Next 16 win32 SWC binary as a direct dependency on a Next 14 project (version mismatch, breaks Linux/Vercel installs) plus large unrelated lockfile churn. Reverted package.json + package-lock.json to the pre-merge state; kept the back-to-top button.
UpdateAI Mock Interview + supporting interview blog posts
—New /interview tool: realistic AI interviewer for any role or pasted job description (behavioral/technical/mixed), up to 20 questions via a -/+ stepper, optional company field that tailors questions to a known company's interview style. Per-answer scored feedback with a model answer, a 'Generate more questions' option on the final question (new answers roll into the report), and a final performance report (overall score, competency breakdown, advice). Responsive, smooth, monochrome; auth + rate-limit + credits. Adds 3 interview blog posts (prepare, STAR method, common questions) that link to /interview via a new optional per-post CTA, with full on-page SEO + JSON-LD, sitemap, and dashboard + landing entry points.
DocsWebhook fail-closed, doc HTML sanitization, open-redirect guard
—Razorpay webhook now rejects (503) when RAZORPAY_WEBHOOK_SECRET is unset and always verifies the HMAC signature (was fail-open, letting anyone grant a plan). Added sanitizeDocHtml in lib/richText.ts (strips script/iframe/style/event-handlers and javascript:/vbscript:/data: URLs while preserving document formatting) and applied it to DocCanvas render sinks + on-commit to stop stored XSS. The auth and verify-email redirect param is now validated to internal paths only (open-redirect guard). Firebase RTDB rules tightening is deployed separately, not in this commit.
UpdateAI Flashcards & Quiz with streaming EX-AI tutor
—New /flashcards tool: generate flashcards from a topic, pasted notes, or an uploaded PDF (up to 30 cards); flip-to-study + auto-graded quiz; card color themes; add custom cards (manual Q/A or AI-written answer); change answer density across all cards; PDF + Anki/CSV export; focused fullscreen mode. Persistent EX-AI tutor side pane streams replies token-by-token with a topic-specific teacher persona. Wired into the dashboard and landing Explore grid, with full SEO metadata, JSON-LD, and sitemap entry.
ImprovedLeft-aligned hero with dual CTAs and browser-window preview
—Single centered column hero: large display headline with a distressed-font accent on the last word, left-aligned subheading, primary + outline pill CTAs with an inline trust line, and the product preview framed as a macOS-style browser window. Text, buttons, and preview share one left edge.
NewAdd 3 long-tail blog posts (PDF to PPTX, diagrams, Mermaid)
—New SEO blog posts targeting winnable long-tail queries tied to the diagram and converter tools, with HowTo/FAQ schema and internal links to related landing pages. Sitemap regenerated to include them.
FixAdd 46 SEO pages: competitor collections, feature pages, PDF alternatives, programmatic pages for professions and subjects. Update sitemap with proper priorities. Fix navbar styling.
FixSupport RANDBETWEEN/RAND (deterministic per cell) + FLOOR/CEILING — 'realistic expenses' no longer error (#NUM) and break the savings cascade; document in prompt
FixSidebar nav+plan card scroll in a bounded region so the Report-issue button is always visible (no clipping with Pro/daily-AI cards); link PDF presenter (centered card); remove guest flow (delete /start + guestWork, Get Started is auth-first)