CLAUDE.md

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

This is a personal portfolio website for Daniel Saeedi, a PhD candidate at Georgia Tech specializing in AI/ML research. The site showcases publications, projects, and professional experience in astrobiology, AI safety, and machine learning.

Architecture and Structure

Frontend Technology Stack

  • Static HTML/CSS/JavaScript website - No build system or package.json required
  • CSS Framework: Bootstrap with custom styling
  • JavaScript Libraries:
    • jQuery for DOM manipulation
    • Swiper.js for carousel/slider functionality
    • Isotope.js for portfolio filtering
    • Magnific Popup for image galleries
    • Various animation libraries (Splitting.js, Jarallax, Scrolla)

File Organization

/
├── index.html              # Main homepage
├── blog.html              # Blog listing page
├── blog-single.html       # Individual blog post template
├── works.html             # Portfolio grid view
├── works-list.html        # Portfolio list view
├── work-single.html       # Individual project template
├── index2.html            # Alternative homepage variant
├── assets/
│   ├── css/
│   │   ├── style.css      # Main stylesheet
│   │   ├── dark.css       # Dark theme styles
│   │   └── vendors/       # Third-party CSS
│   ├── js/
│   │   ├── common.js      # Custom JavaScript
│   │   └── [libraries]    # Third-party JS libraries
│   ├── images/            # Site images and assets
│   └── fonts/             # Font files and icons
└── mailer/                # PHP contact form handler

Key Features

  • Responsive Design: Mobile-first Bootstrap-based layout
  • Dark/Light Theme Toggle: Implemented via CSS classes and JavaScript
  • Portfolio Filtering: Isotope.js-powered category filtering for projects
  • Smooth Animations: Multiple animation libraries for scroll-based effects
  • Contact Form: PHP-based email handling in /mailer/ directory

Development Workflow

Local Development

  • This is a static website that can be served directly from any web server
  • No build process required - edit HTML/CSS/JS files directly
  • Test locally using any static file server (e.g., python -m http.server, Live Server extension)

Content Updates

  • Projects/Publications: Update the works section in index.html around lines 280-511
  • Personal Info: Modify the hero section in index.html around lines 175-246
  • Resume/Experience: Edit the resume section around lines 529-690
  • Styling: Main styles in assets/css/style.css, dark theme in assets/css/dark.css

Key Sections to Know

  • Hero Section (#started-section): Personal introduction and profile
  • Works Section (#works-section): Portfolio with filtering by category
  • Resume Section (#resume-section): Education and experience timeline
  • Navigation: Full-overlay menu system with smooth animations

Content Management

  • Portfolio items use data attributes for filtering (e.g., sorting-publications, sorting-ai-research)
  • Images are organized by project in /assets/images/
  • Social links and external URLs are hardcoded in HTML

Important Notes

  • No package manager or build tools - all dependencies are included as static files
  • PHP mailer functionality requires server-side PHP support for contact forms
  • Dark/light theme switching is client-side only via CSS class toggling
  • Portfolio filtering relies on Isotope.js and custom data attributes for categories