feat: complete resume system + certificate verification + performance fixes - #9
Merged
Conversation
Floating-point precision differences in circle coordinates were causing hydration mismatches between server and client renders. Round to 1 decimal place (matching the path segments) to ensure SSR/hydration agreement. feat(credentials): wire up certificate verification files + ISEA cert Copy 8 certificate files from certificate/ folder into public/certificates/ with id-based naming, enabling automatic "View ↗" links in the Credentials section. Links point to issuer URLs where set, otherwise local PDFs/images. Adds ISEA Digital Certificate (CDAC/MeitY) to the certifications data layer. Design is already final — no UI changes, only data + file wiring. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
…ackMe certs Wire up the two missing TryHackMe certificate files with corrected completion dates from the official certificates (09-20 and 08-06 respectively). All TryHackMe paths now have verification links in the Credentials section. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Add interactive modal for resume selection. Users click "Resume" button to open a dialog with two download options: - Software Developer resume (backend/cloud focus) - Cybersecurity/GRC resume (VAPT/governance focus) Each resume has proper filenames for download and closes modal on selection. Supports Escape key and click-outside to close. - New component: components/resume/resume-modal.tsx (client component) - Updated: components/sections/hero.tsx to use modal instead of direct link - Copied PDFs to public/resumes/ for web access Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Comprehensive portfolio refinements across three areas: dual-resume system with interactive modal selection, complete certificate verification pipeline with all credentials wired up, and critical performance/hydration fixes.
Key Changes
Resume System (New)
components/resume/resume-modal.tsx) that appears when users click "Resume"Certificate Verification (Complete)
data/certificates.tspublic/certificates/with id-based namingPerformance & Correctness
Testing Checklist
Files Changed
New Components
components/resume/resume-modal.tsx— Interactive resume selector modalModified Components
components/sections/hero.tsx— Integrated resume modal, replaced direct linkcomponents/approach/lattice-fallback.tsx— Fixed SVG coordinate precisionData & Assets
data/certificates.ts— Added ISEA certificate entrypublic/resumes/resume-software-developer.pdf— New assetpublic/resumes/resume-cybersecurity-grc.pdf— New assetpublic/certificates/— Added 8 certificate verification filesDocumentation
resumes/folder — Markdown source files for both resumes (for future updates)Breaking Changes
None. Resume link behavior now opens a modal instead of direct download, but functionality is preserved and enhanced.
Performance Impact
Minimal. Resume modal is a lightweight client component with no additional dependencies beyond existing Lucide icons and React hooks.
🎯 Generated with Claude Code