# frankpatel1/my-portfolio architecture

> Architecture diagram of the GitHub repository frankpatel1/my-portfolio, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/frankpatel1/my-portfolio
- Repository: https://github.com/frankpatel1/my-portfolio

## Overview

This repository appears to be a personal portfolio site, with a résumé PDF and browser-facing styling and interaction assets. The likely user workflow is to open the portfolio page and explore its content; the tree alone does not establish specific page sections, links, or which scripts the page invokes. The graph therefore treats the HTML file as the entry point and lists notable runtime assets without asserting unsupported connections. Source excerpts and README documentation were unavailable.

Main entry points: [`index.html`](https://github.com/frankpatel1/my-portfolio/blob/main/index.html) (Portfolio page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_site["Portfolio site"]
  node_page["Portfolio page<br/>[index.html]"]
  node_styles["Site styles<br/>[main.css]"]
  node_aos_css["AOS styles<br/>[aos.css]"]
  node_popup_css["Popup styles<br/>[magnific-popup.css]"]
  node_swiper_css["Swiper styles<br/>[swiper-bundle.css]"]
end

subgraph group_interactions["Browser interactions"]
  node_main_js["Main interactions<br/>[main.js]"]
  node_gsap_custom["GSAP effects<br/>[custom-gsap.js]"]
  node_slider["Slider behavior<br/>[slider-active.js]"]
  node_cursor["Cursor behavior<br/>[tw-cursor.js]"]
  node_aos_js["Scroll animations<br/>[aos.js]"]
  node_counter["Counter behavior<br/>[purecounter.js]"]
  node_gsap["GSAP library<br/>[gsap.js]"]
  node_scroll_trigger["Scroll trigger plugin"]
  node_scroll_smoother["Scroll smoother plugin"]
  node_scroll_to["Scroll-to plugin"]
  node_split_text["Text split plugin<br/>[gsap-split-text.js]"]
end

subgraph group_media["Visual and résumé assets"]
  node_icons["Icon assets<br/>[phosphor-icon.js]"]
  node_images["Site images"]
  node_resume["Résumé PDF"]
end

node_visitor(("Site visitor"))

node_visitor -->|"opens"| node_page

click node_page "https://github.com/frankpatel1/my-portfolio/blob/main/index.html"
click node_styles "https://github.com/frankpatel1/my-portfolio/blob/main/assets/css/main.css"
click node_aos_css "https://github.com/frankpatel1/my-portfolio/blob/main/assets/css/aos.css"
click node_popup_css "https://github.com/frankpatel1/my-portfolio/blob/main/assets/css/magnific-popup.css"
click node_swiper_css "https://github.com/frankpatel1/my-portfolio/blob/main/assets/css/swiper-bundle.css"
click node_main_js "https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/main.js"
click node_gsap_custom "https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/custom-gsap.js"
click node_slider "https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/slider-active.js"
click node_cursor "https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/tw-cursor.js"
click node_aos_js "https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/aos.js"
click node_counter "https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/purecounter.js"
click node_icons "https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/phosphor-icon.js"
click node_gsap "https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/gsap/gsap.js"
click node_scroll_trigger "https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/gsap/gsap-scroll-trigger.js"
click node_scroll_smoother "https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/gsap/gsap-scroll-smoother.js"
click node_scroll_to "https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/gsap/gsap-scroll-to-plugin.js"
click node_split_text "https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/gsap/gsap-split-text.js"
click node_images "https://github.com/frankpatel1/my-portfolio/tree/main/assets/images"
click node_resume "https://github.com/frankpatel1/my-portfolio/blob/main/assets/Frank-Patel-Resume.pdf"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_page,node_styles,node_aos_css,node_popup_css,node_swiper_css toneBlue
class node_main_js,node_gsap_custom,node_slider,node_cursor,node_aos_js,node_counter,node_gsap,node_scroll_trigger,node_scroll_smoother,node_scroll_to,node_split_text toneAmber
class node_icons,node_images,node_resume toneMint
class node_visitor toneIndigo
```

## Components

### Portfolio site

- [Portfolio page](https://github.com/frankpatel1/my-portfolio/blob/main/index.html): `index.html`
- [Site styles](https://github.com/frankpatel1/my-portfolio/blob/main/assets/css/main.css): `assets/css/main.css`
- [AOS styles](https://github.com/frankpatel1/my-portfolio/blob/main/assets/css/aos.css): `assets/css/aos.css`
- [Popup styles](https://github.com/frankpatel1/my-portfolio/blob/main/assets/css/magnific-popup.css): `assets/css/magnific-popup.css`
- [Swiper styles](https://github.com/frankpatel1/my-portfolio/blob/main/assets/css/swiper-bundle.css): `assets/css/swiper-bundle.css`

### Browser interactions

- [Main interactions](https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/main.js): `assets/js/main.js`
- [GSAP effects](https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/custom-gsap.js): `assets/js/custom-gsap.js`
- [Slider behavior](https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/slider-active.js): `assets/js/slider-active.js`
- [Cursor behavior](https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/tw-cursor.js): `assets/js/tw-cursor.js`
- [Scroll animations](https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/aos.js): `assets/js/aos.js`
- [Counter behavior](https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/purecounter.js): `assets/js/purecounter.js`
- [GSAP library](https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/gsap/gsap.js): `assets/js/gsap/gsap.js`
- [Scroll trigger plugin](https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/gsap/gsap-scroll-trigger.js): `assets/js/gsap/gsap-scroll-trigger.js`
- [Scroll smoother plugin](https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/gsap/gsap-scroll-smoother.js): `assets/js/gsap/gsap-scroll-smoother.js`
- [Scroll-to plugin](https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/gsap/gsap-scroll-to-plugin.js): `assets/js/gsap/gsap-scroll-to-plugin.js`
- [Text split plugin](https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/gsap/gsap-split-text.js): `assets/js/gsap/gsap-split-text.js`

### Visual and résumé assets

- [Icon assets](https://github.com/frankpatel1/my-portfolio/blob/main/assets/js/phosphor-icon.js): `assets/js/phosphor-icon.js`
- [Site images](https://github.com/frankpatel1/my-portfolio/tree/main/assets/images): `assets/images`
- [Résumé PDF](https://github.com/frankpatel1/my-portfolio/blob/main/assets/Frank-Patel-Resume.pdf): `assets/Frank-Patel-Resume.pdf`

### Other components

- **Site visitor**

## Connections

- Site visitor → Portfolio page: opens
