DevPrep
  • Interview Prep
  • Projects
  • Resources
  • Pricing
  • About Us
Submit Question
DevPrep
  • Pricing
  • About Us
Submit Question
← From Beginner to Expert in Fundamentals of Frontend
  • Project 1: The Performance-First Dashboard
  • Project 2: Accessible Video Player
  • Project 3: Markdown Blog Engine
  • Project 4: Browser-Based Code Editor
  • Project 5: Multi-Tab Whiteboard
  • Project 6: Infinite Scroll Image Gallery
  • Project 7: Recipe Optimizer & Converter
  • Project 8: Budget Tracker with Charts
  • Project 9: Typing Speed Test
  • Project 10: Weather App with Time-Travel
  • Project 11: CSS Grid Layout Builder
  • Project 12: Password Vault (Frontend Only)
  • Project 13: Kanban Board (Trello Clone)
  • Project 14: Quiz App with Leaderboard
  • Project 15: Habit Tracker (GitHub Style)
  • Project 16: E-commerce Product Page
  • Project 17: Unit Converter (Expert Mode)
  • Project 18: Music Visualizer
  • Project 19: Flashcard Learning App
  • Project 20: Custom Form Validator
  • Project 21: Virtual Terminal
  • Project 22: Pomodoro Timer (Focus Pro)
  • Project 23: SVG Path Editor
  • Project 24: Movie Database Matchmaker
  • Project 25: Interactive Resume / Portfolio
  • Project 26: Recipe Scraper UI
  • Project 27: Crypto Tracker (Real-Time)
  • Project 28: Find My Pet (PWA)
  • Project 29: Markdown-to-Slide Tool
  • Project 30: Browser Health Dashboard
← From Beginner to Expert in Fundamentals of Frontend

Project 25: Interactive Resume / Portfolio

35 min read
Scroll-SpyCSS AnimationsDark ModePrint CSSIntersection ObserverPortfolio Design

📋 Project Brief

Build an interactive resume/portfolio that IS the project itself — a website showcasing your skills through its own implementation. Features scroll-spy navigation, animated skill bars, dark/light mode, a timeline view, and PDF export.

✅ Feature Requirements

Feature 1: Scroll-Spy Navigation

Acceptance Criteria:

  • Navigation links highlight based on which section is currently in the viewport
  • Use Intersection Observer to detect active sections
  • Clicking a nav link smooth-scrolls to that section
  • URL hash updates as user scrolls (e.g., #experience)

Feature 2: Animated Skill Bars

Acceptance Criteria:

  • Skill bars animate from 0% to their value when they enter the viewport
  • Animation triggers only once (not on every scroll past)
  • Each bar shows the skill name and percentage
  • Animation duration: ~1 second with ease-out curve

Feature 3: Dark/Light Toggle

Acceptance Criteria:

  • Respects system preference via prefers-color-scheme on first load
  • Manual toggle overrides system preference and persists in localStorage
  • All colors use CSS Custom Properties for instant switching

Feature 4: Timeline View

Acceptance Criteria:

  • Work experience displayed as a vertical timeline
  • Each entry expands on click to show details
  • Alternating left/right layout on desktop; single column on mobile

Feature 5: PDF Export

Acceptance Criteria:

  • A "Download PDF" button generates a print-friendly version
  • Uses @media print to remove interactive elements
  • Fits on 1-2 A4 pages
  • Typography optimized for paper (serif fonts, 12pt)

🧪 Testing Checklist

  • Scroll-spy correctly highlights active section
  • Skill bars animate only on first viewport entry
  • Dark/light mode persists across refreshes
  • Print stylesheet produces clean output
  • Lighthouse scores: Performance 95+, Accessibility 100, SEO 100

Practice

  • JavaScript
  • DSA
  • Machine Coding
  • System Design

Resources

  • Learning Tracks
  • Articles
  • Roadmaps
  • Compare Concepts
  • Glossary
  • Developer Tools
  • All Questions

Company

  • About
  • Pricing

Legal

  • Privacy Policy
  • Terms of Service
DevPrep

© 2026 DevPrep. All rights reserved.