# venkateshbatikeri7/portfolio architecture

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

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

## Overview

This repository is a React single-page engineering portfolio. A visitor enters through the app mount, sees an animated introduction, and navigates a single page of profile, experience, projects, skills, and contact content. The app also supplies navigation, theme, cursor, loading, and backdrop UI. Sampled code confirms the app composition and selected data dependencies; unsampled section implementations and backdrop wiring are not inferred.

Main entry points: [`src/App.jsx`](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/App.jsx) (Page composition), [`src/components/Nav.jsx`](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/Nav.jsx) (Navigation), [`src/data/profile.js`](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/data/profile.js) (Portfolio data), [`src/components/sections/Hero.jsx`](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/sections/Hero.jsx) (Introduction)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["App runtime"]
  node_mount["React mount<br/>[main.jsx]"]
  node_app["Page composition<br/>[App.jsx]"]
end

subgraph group_content["Portfolio content"]
  node_hero["Introduction<br/>[Hero.jsx]"]
  node_manifesto["Manifesto<br/>[Manifesto.jsx]"]
  node_about["About<br/>[About.jsx]"]
  node_experience["Experience<br/>[Experience.jsx]"]
  node_projects["Projects<br/>[Projects.jsx]"]
  node_stack["Skills<br/>[Stack.jsx]"]
  node_contact["Contact<br/>[Contact.jsx]"]
end

subgraph group_interaction["Visual interactions"]
  node_nav["Navigation<br/>[Nav.jsx]"]
  node_backdrop["Backdrop<br/>[Backdrop.jsx]"]
  node_cursor["Custom cursor<br/>[Cursor.jsx]"]
  node_preloader["Preloader<br/>[Preloader.jsx]"]
  node_theme["Theme toggle<br/>[ThemeToggle.jsx]"]
  node_motion["Motion presets<br/>[motion.js]"]
end

subgraph group_data["Profile data"]
  node_profile["Portfolio data<br/>[profile.js]"]
  node_resume["Résumé PDF"]
end

node_visitor(("Visitor"))

node_visitor -->|"opens page"| node_mount
node_mount -->|"renders"| node_app
node_app -->|"renders"| node_nav
node_app -->|"renders"| node_hero
node_app -->|"renders"| node_manifesto
node_app -->|"renders"| node_about
node_app -->|"renders"| node_experience
node_app -->|"renders"| node_projects
node_app -->|"renders"| node_stack
node_app -->|"renders"| node_contact
node_app -->|"renders"| node_backdrop
node_app -->|"renders"| node_cursor
node_app -->|"renders"| node_preloader
node_nav -->|"renders"| node_theme
node_hero -->|"reads"| node_profile
node_hero -->|"uses"| node_motion
node_nav -->|"reads"| node_profile
node_nav -->|"uses"| node_motion
node_contact -->|"reads"| node_profile
node_contact -->|"links"| node_resume
node_profile -->|"imports"| node_resume

click node_mount "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/main.jsx"
click node_app "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/App.jsx"
click node_nav "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/Nav.jsx"
click node_hero "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/sections/Hero.jsx"
click node_manifesto "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/sections/Manifesto.jsx"
click node_about "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/sections/About.jsx"
click node_experience "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/sections/Experience.jsx"
click node_projects "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/sections/Projects.jsx"
click node_stack "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/sections/Stack.jsx"
click node_contact "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/sections/Contact.jsx"
click node_backdrop "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/Backdrop.jsx"
click node_cursor "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/ui/Cursor.jsx"
click node_preloader "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/ui/Preloader.jsx"
click node_theme "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/ui/ThemeToggle.jsx"
click node_profile "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/data/profile.js"
click node_resume "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/assets/Venkatesh_BS_Resume.pdf"
click node_motion "https://github.com/venkateshbatikeri7/portfolio/blob/main/src/lib/motion.js"

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_mount,node_app toneBlue
class node_hero,node_manifesto,node_about,node_experience,node_projects,node_stack,node_contact toneAmber
class node_nav,node_backdrop,node_cursor,node_preloader,node_theme,node_motion toneMint
class node_profile,node_resume toneRose
class node_visitor toneIndigo
```

## Components

### App runtime

- [React mount](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/main.jsx): `src/main.jsx`
- [Page composition](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/App.jsx): `src/App.jsx`

### Portfolio content

- [Introduction](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/sections/Hero.jsx): `src/components/sections/Hero.jsx`
- [Manifesto](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/sections/Manifesto.jsx): `src/components/sections/Manifesto.jsx`
- [About](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/sections/About.jsx): `src/components/sections/About.jsx`
- [Experience](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/sections/Experience.jsx): `src/components/sections/Experience.jsx`
- [Projects](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/sections/Projects.jsx): `src/components/sections/Projects.jsx`
- [Skills](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/sections/Stack.jsx): `src/components/sections/Stack.jsx`
- [Contact](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/sections/Contact.jsx): `src/components/sections/Contact.jsx`

### Visual interactions

- [Navigation](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/Nav.jsx): `src/components/Nav.jsx`
- [Backdrop](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/Backdrop.jsx): `src/components/Backdrop.jsx`
- [Custom cursor](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/ui/Cursor.jsx): `src/components/ui/Cursor.jsx`
- [Preloader](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/ui/Preloader.jsx): `src/components/ui/Preloader.jsx`
- [Theme toggle](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/components/ui/ThemeToggle.jsx): `src/components/ui/ThemeToggle.jsx`
- [Motion presets](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/lib/motion.js): `src/lib/motion.js`

### Profile data

- [Portfolio data](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/data/profile.js): `src/data/profile.js`
- [Résumé PDF](https://github.com/venkateshbatikeri7/portfolio/blob/main/src/assets/Venkatesh_BS_Resume.pdf): `src/assets/Venkatesh_BS_Resume.pdf`

### Other components

- **Visitor**

## Connections

- Visitor → React mount: opens page
- React mount → Page composition: renders
- Page composition → Navigation: renders
- Page composition → Introduction: renders
- Page composition → Manifesto: renders
- Page composition → About: renders
- Page composition → Experience: renders
- Page composition → Projects: renders
- Page composition → Skills: renders
- Page composition → Contact: renders
- Page composition → Backdrop: renders
- Page composition → Custom cursor: renders
- Page composition → Preloader: renders
- Navigation → Theme toggle: renders
- Introduction → Portfolio data: reads
- Introduction → Motion presets: uses
- Navigation → Portfolio data: reads
- Navigation → Motion presets: uses
- Contact → Portfolio data: reads
- Contact → Résumé PDF: links
- Portfolio data → Résumé PDF: imports
