Navbar + Footer Redesign — Notion White + Newsletter Takeover
Added
•Newsletter subscribe form in footer with live email validation (green/red border on input).
•Sitemap link added to footer Legal column + bottom nav bar so users can find the site map without hunting.
Improved
•Navbar: inverted from dark gray-900 to clean white (Notion-style), blue-500 logo chip, blue hover states, blue-500 "Get started free" CTA. Mega-dropdown (4 blog clusters + Help footer), auth profile menu, mobile menu all preserved.
•Footer: dark from-gray-900 via-slate-900 to-black gradient matches existing homepage hero for visual continuity. Blue-400→blue-600 gradient headline. 4-column link grid (Product, Resources, Company, Legal).
•Supabase guest-mode stub extended with .maybeSingle, .upsert, .insert, .update — covers every call path in useCloudSync so guest-mode boot is fully defensive.
•Auth pages (/login, /forgot-password) added to robots.ts disallow so they don't outrank product pages on brand queries.
•Removed internal design-selection preview pages (/design-previews, /preview-final) — were accidentally shipping to production builds.
•Typed env accessors (lib/env.ts) replace process.env.FOO! non-null assertions with lazy getters that throw clear "Missing required env var" errors at access time.
•Auth error normalization (lib/authErrors.ts) — raw Supabase messages never reflected into URL params or UI; all errors pass through stable codes with friendly labels.
Improved
•Guest-mode boot: Supabase client + server + middleware + auth callback now detect missing NEXT_PUBLIC_SUPABASE_* env vars and fall back to a no-op stub instead of crashing on first render.
•Dark-mode init script moved from next/script (body child) to plain inline <script> in <head> — kills React "script tag while rendering component" warning in Next 16 while still running before hydration.
•Lint clean: 3 set-state-in-effect errors suppressed with targeted per-line disables + comments; 16 warnings resolved (unused imports, stale eslint-disable directives, dead hook calls).
•Canonical URLs corrected: siteConfig fallback now resume-forge-orcin.vercel.app (the actual Vercel project URL); all GitHub references fixed to Surya8991/ResumeBuildz (proper casing). Affects sitemap, JSON-LD, footer, and README.
v1.19.0April 16, 2026
Security Hardening — 10 Cybersecurity Fixes
Added
•Content-Security-Policy header with frame-ancestors none, strict default-src, allowlisted connect-src.
•In-memory rate limiter (lib/rateLimit.ts) — 10 sessions/hour/IP on /api/checkout.
•CSRF defense: Origin verification on /api/checkout rejects cross-origin POSTs.
•ATS plain-text export (.txt) — pure UTF-8 for Workday/Greenhouse/Naukri paste boxes.
•Streaming AI: streamGroqAI() with SSE parser. Cover letter now streams live instead of 3-5s blank wait.
•Keyboard shortcut cheatsheet dialog (Ctrl+/ or ?). Shows all 11 shortcuts grouped by category.
•Last-edited timestamp in builder footer ("Saved 2m ago"). Auto-refreshes every 30s.
•404 page with live search across all pages, blog posts, and company guides.
•ShareButton component on blog posts — copy link + LinkedIn/X/email intents.
•Changelog RSS feed at /changelog/rss.xml for power users.
•Status page at /status (service health dashboard).
•Roadmap page at /roadmap (public feature tracker).
•Sitemap auto-discovers blog posts from lib/blogPosts.ts registry.
•Dark mode now persists across sessions via localStorage and init-before-paint script.
Improved
•Removed duplicate Ctrl+E shortcut (previously bound to the same PDF export as Ctrl+P).
•Footer shortcut hint ("⌨ Shortcuts") for discoverability on desktop.
•Changelog data extracted to lib/changelogData.ts as single source for page + RSS.
v1.16.0April 16, 2026
Full-Project Codereview — 40+ Findings Fixed
Added
•safePhotoSrc(): rejects remote photo URLs — only data:image/* allowed. Wired into ResumePreview for all 20 templates.
•safePrimaryColor(): validates hex format before CSS interpolation. Wired into ResumePreview.
•ensureUrl() blocks javascript:, data:, and vbscript: URI schemes.
Improved
•Security: callGroqAI wrapped in try/catch/finally in ATSScoreChecker, AISuggestions, and CoverLetterForm. No more permanent loading on network failure.
•Security: fetchProfile uses explicit select() instead of select(*), logs errors. exportUserData picks only safe fields.
•/loader-preview gallery with 10 page-loader animation options (Stripe, Vercel, Spotify, Apple, GitHub, Linear, Notion, Material Design inspirations).
Improved
•Page loader replaced with the centered skeleton card design (Option 4). Mirrors the homepage Fill7_Ultimate hero aesthetic so every page transition reinforces the resume-building brand metaphor.
•Top progress bar removed entirely. The new loader is a centered card on a soft white backdrop with skeletal resume bars filling in.
•150ms grace period before the loader shows — quick navigations that complete in under 150ms never flash the loader.
v1.13.0April 15, 2026
Page Loader + Codereview Cleanup
Added
•Global page transition loader (PageLoader.tsx) wired into the root layout.
•Top blue gradient progress bar that trickles during navigation and snaps to 100% on completion.
•Floating mini "resume building" card in the bottom-right with skeletal bars filling in (matches the homepage hero aesthetic).
•Detects navigation start via global click listener on <a> elements; responds to browser back/forward via popstate; completes via usePathname.
Improved
•All 16 issues from the codereview pass fixed: WhatsNew APP_VERSION bumped to 1.12.0, ESLint enforcement moved to CI, setState-in-effect warnings resolved on login + CookieBanner + WhatsNew, hardcoded Vercel URL centralized via lib/siteConfig.ts (9 replacements), JSON-LD blocks consolidated via jsonLd() helper, unused SUPABASE_SERVICE_ROLE_KEY removed, MonochromeTemplate dead code removed, Fill4 type cast cleaned up, Fill7_Ultimate now pauses animations offscreen via IntersectionObserver, eslint-config silences <img> warnings for resume templates.
•Ahrefs-style 2-tier blog taxonomy: 4 parent groups (Resume & ATS, Job Search, India Hiring, Company Guides) containing 7 child clusters.
•New "Interviews & Cover Letters" category — closes the biggest content gap vs. every direct resume/career competitor.
•Cover Letter page added as a blog post in the new Interviews & Cover Letters cluster.
•PARENT_GROUPS array + parentGroup field in lib/blogCategories.ts with getCategoriesByParent helper.
•Mega-dropdown in the Resources navbar menu: 4-column grid on desktop, nested accordion on mobile.
•Parent-grouped blog hub at /blog showing categories under 4 pillar headers instead of a flat grid.
Improved
•Footer Blog column restructured into 3 visual groups matching the new parent taxonomy.
•Research-backed structure: HubSpot, Ahrefs, Indeed, Zety, Enhancv, Kickresume, Teal, LinkedIn Talent, Canva, Notion all studied. Ahrefs nested model picked as the only scalable approach for 7+ clusters.
v1.11.0April 15, 2026
Project Renamed to ResumeBuildz + Navbar Restructure
Added
•Navbar Resources dropdown restructured with two nested sections: "Blog — topic clusters" (6 clusters) and "Help" (FAQ + Company Guides Hub).
•Blog column added to the footer (All Articles + 4 cluster pages + FAQ).
Improved
•Main nav simplified: Templates, Resources, About, Pricing, Contact. FAQ moved out of top-level nav into the Resources dropdown and the footer.
•Brand renamed from ResumeForge to ResumeBuildz across 43 files.
•package.json name changed from "resumeforge" to "resumebuildz".
v1.10.0April 15, 2026
Blog Section with Topic Clusters + Ultimate Hero
Added
•Blog hub at /blog with featured strip, topic-cluster cards, and filterable post grid.
•Dynamic /blog/category/[category] route with 6 topic clusters.
•Ultimate hero on the homepage (Fill7_Ultimate) with 3D parallax tilt.
•Sitemap expanded with /blog + 6 category URLs.
Improved
•Resources dropdown in navbar now points to blog categories instead of flat page links.
v1.9.0April 15, 2026
Article Scaffolding, Deep Content & Hero Preview Gallery
Added
•Sticky TOC (desktop sidebar + mobile accordion) on all 28 long-form pages.
•Breadcrumbs + JSON-LD BreadcrumbList schema on every content page.
•JSON-LD Article + FAQPage + HowTo schemas for rich Google results.
•Scroll progress bar and back-to-top button (scoped to long-form pages only).
Improved
•Sitemap covers all new URLs. Homepage now has lower visual noise at rest.
v1.8.0April 14, 2026
SEO Expansion: 22 Company Guides + 6 Situation Pages
Added
•Company resume guides hub at /resume-for with 22 curated employers (10 global + 12 India).
•Dynamic /resume-for/[company] route with 22 statically generated pages.
•6 situation-specific pages: fresher, campus placement, Naukri tips, post-layoff, career gap, career change.
•Resources dropdown in navbar exposing all 9 new resource pages.
Improved
•SiteNavbar layout: Templates link is now the first item, followed by a Resources dropdown.
v1.7.0April 14, 2026
Analytics, Privacy Compliance & Page Review
Added
•Vercel Web Analytics (cookieless, GDPR-safe, free on Hobby plan).
•Login Gateway expanded to all builder CTAs across all pages.
•Paste Import workflow for LinkedIn or any plain text resume.
•Cookie consent banner (GDPR safety net).
Improved
•Privacy Policy rewritten for accuracy.
•About page mission statement, stats, and tech stack updated.
v1.6.0April 14, 2026
Undo/Redo, Shortcuts & Polish
Added
•Undo/Redo system with 50-snapshot history.
•Keyboard shortcuts: Ctrl+E for PDF export, Ctrl+1-5 to jump tabs.
•Login Gateway modal on Build Resume CTAs.
•Email verification banner in builder for unverified users.
Improved
•Debounced localStorage writes (1s) reduce battery drain on mobile.
•React.memo on ResumePreview prevents re-renders on every keystroke.
v1.5.0April 13, 2026
Auth, Pricing & Pro Plans
Added
•Supabase authentication with Google OAuth and email/password sign-in.
•Pricing page with 5 tiers: Free, Starter ($5), Pro ($9), Team ($19), Lifetime ($49).
•Freemium gates: 1 AI rewrite/day and 3 PDF exports/day on free tier.
•Toast notification system.
•GDPR controls: Export My Data and Delete Account.
Improved
•Email verification now required for Pro features.
•SEO: dynamic robots.ts, sitemap.ts, OG image, and Organization schema.
v1.4.0April 11, 2026
Skill Suggestions, Auth & Pricing
Added
•Skill suggestions based on your job title. 201 roles across 20 industries.
•Section completion dots.
•Cover letter auto-fills your job title.
Improved
•Improved skill matching accuracy.
v1.3.0March 28, 2026
PDF Import & Multi-Profile Support
Added
•PDF import via pdfjs-dist.
•Multiple resume profiles — save up to 10 different versions.
•Template preview modal.
•Drag-and-drop reordering for Experience, Education, Projects.