JR Logo
Portfolio Website
Updated Nov 2024Next.js 15

Portfolio Website

Personal portfolio built with Next.js 15, featuring interactive mindmap visualization and dynamic project Works

Modern portfolio site showcasing development journey through interactive visualizations. Built with Next.js 15 app router and server components, featuring D3-based mindmap, dynamic filtering, and responsive design.

Build Key Features

  1. 01

    Interactive Learning Mindmap

    D3-based force-directed graph visualizing web development concepts and their relationships. Features dynamic node positioning, zoom interactions, and responsive layout.

    Interactive Learning Mindmap
  2. 02

    Project Work

    Dynamic project grid with technology-based filtering and detailed modal views. Uses Radix UI primitives with Framer Motion animations for smooth transitions.

    Project Work
  3. 03

    Advanced Image Handling

    Custom image lightbox with keyboard navigation and touch support. Implements progressive loading, blur placeholders, and fallback states.

    Advanced Image Handling
  4. 04

    Responsive Design

    Mobile-first approach using Tailwind CSS with dynamic layouts and optimized interactions. Includes dark mode support and system preference detection.

    Responsive Design

Friction Challenges

  1. 1

    D3 Integration

    Implementing complex force-directed graph with React while maintaining smooth performance. Required careful state management and render optimization.

  2. 2

    Type Safety

    Maintaining strict TypeScript types across components, especially for project data structures and D3 visualization props.

  3. 3

    Performance Optimization

    Balancing rich interactions with performance, particularly for the mindmap visualization and image galleries. Implemented code splitting and lazy loading.

Takeaways Learnings

Data Visualization

  • D3.js integration with React for complex interactive visualizations
  • Force-directed graph algorithms and physics simulations

Modern React Patterns

  • Server and client component architecture with Next.js 15
  • Advanced animation patterns using Framer Motion

Component Design

  • Building accessible components with Radix UI primitives
  • Implementing compound components for complex features