How yuvaraj-6867/portfolio works
Purpose and Runtime
This is a single-page personal QA-engineering portfolio. It runs as a React 19 + TypeScript client application, built and served by Vite. Styling uses Tailwind CSS v4 alongside application CSS; Framer Motion supports animated presentation. The primary browser entry is index.html, which loads src/main.tsx; React mounts the root application in src/App.tsx.
Application Composition
src/App.tsx is the page orchestrator: it assembles the portfolio sections and site-wide interaction layers. src/index.css and src/App.css provide global and application-level visual rules. The app is primarily static, section-based content rather than a routed or backend-driven system.
Portfolio Content Pipeline
The main content flow is top-to-bottom within the root page:
• Hero/introduction: src/components/Home.tsx
• Biography and metrics: src/components/About.tsx
• Employment timeline: src/components/Experience.tsx
• Project showcase and skills: src/components/ProjectsSection.tsx, src/components/SkillsSection.tsx
• Contact endpoint: src/components/Contact.tsx
These components own the portfolio’s displayed data and presentation; changes to resume, projects, experience, or skills are expected to occur at this component layer.
Navigation and Accessibility Boundary
In-page navigation is provided by src/components/Navbar.tsx, with supporting orientation and recovery controls in src/components/SectionIndicator.tsx, src/components/ScrollToTop.tsx, and src/components/SkipToContent.tsx. Keyboard interaction is centralized through src/hooks/useKeyboardNav.ts, separating document-navigation behavior from individual content sections.
Presentation and Motion Systems
Animation and scroll-responsive behavior are shared through src/components/animations.ts and hooks such as src/hooks/useScrollAnimation.ts and src/hooks/useTilt.ts. Global visual feedback is layered independently from content via src/components/SplashScreen.tsx, src/components/ScrollProgress.tsx, and src/components/CursorTrail.tsx. This isolates decorative motion from portfolio content but makes browser/client rendering a material runtime dependency.
User Actions and External Services
The contact workflow in src/components/Contact.tsx integrates EmailJS, making EmailJS the main external service boundary for outbound messages. Additional client actions include sharing, printing/downloading resume content, and social links through src/components/ShareButton.tsx, src/components/PrintResume.tsx, and src/components/SocialSidebar.tsx. The downloadable resume is a static public asset at public/yuvaraj.pdf.
Build and Static Assets
Vite configuration is defined by vite.config.ts; package scripts and runtime dependencies are in package.json. Deployment produces static browser assets, including media imported from src/assets/video.mp4 and public files served directly from public/. No server application, database, API layer, or repository-local infrastructure is represented in the tree.
Components 22
Build & Runtime
- Package scripts & deps
package.json - Vite build
vite.config.ts - Browser entry
index.html
Application Shell
- React bootstrap
src/main.tsx - Root page orchestrator · Assembles sections and site-wide layers.
src/App.tsx - Global visual rules
src/index.css - Application styles
src/App.css
Portfolio Content
- Hero introduction
src/components/Home.tsx - Biography & metrics
src/components/About.tsx - Employment timeline
src/components/Experience.tsx - Projects & skills
src/components/ProjectsSection.tsx - Contact endpoint · Owns outbound message submission.
src/components/Contact.tsx
Navigation & Access
- In-page navigation
src/components/Navbar.tsx - Keyboard navigation · Centralizes document-navigation behavior.
src/hooks/useKeyboardNav.ts - Section orientation
src/components/SectionIndicator.tsx
Motion & Feedback
- Motion primitives
src/components/animations.ts - Visual feedback layers
src/components/SplashScreen.tsx - Portfolio media
src/assets/video.mp4
User Actions
- Share & print actions
src/components/ShareButton.tsx - Social links
src/components/SocialSidebar.tsx - Downloadable resume
public/yuvaraj.pdf - EmailJS · Receives outbound contact messages.
Connections 21
- Package scripts & deps → Vite build: runs
- Vite build → Browser entry: builds and serves
- Browser entry → React bootstrap: loads
- React bootstrap → Root page orchestrator: mounts
- React bootstrap → Global visual rules: loads
- Root page orchestrator → Application styles: uses
- Root page orchestrator → Hero introduction: renders
- Root page orchestrator → Biography & metrics: renders
- Root page orchestrator → Employment timeline: renders
- Root page orchestrator → Projects & skills: renders
- Root page orchestrator → Contact endpoint: renders
- Root page orchestrator → In-page navigation: layers
- In-page navigation → Keyboard navigation: uses
- Root page orchestrator → Section orientation: layers
- Root page orchestrator → Motion primitives: uses
- Root page orchestrator → Visual feedback layers: layers
- Visual feedback layers → Portfolio media: displays
- Root page orchestrator → Share & print actions: offers
- Root page orchestrator → Social links: offers
- Share & print actions → Downloadable resume: downloads
- Contact endpoint → EmailJS: sends messages