How glennc-dev/portfolio-template works
This is a placeholder personal-portfolio template. A visitor enters through the routed site shell, explores profile and portfolio pages across desktop or phone layouts, and can use accessibility/theme controls or contact the owner. The graph preserves the documented projects, services, showcase carousel, testimonials, profile, and mobile capabilities. Some route components and integrations are unsampled; links to them rely on explicit README or SOURCE INDEX references, so internal details are intentionally limited.
Main entry points: main.tsx Route setup · App.tsx Site shell · ProjectsGrid.tsx Projects · ContactGrid.tsx Contact
Components 26
App shell
- Route setup
src/main.tsx - Site shell
src/App.tsx - Intro overlay
src/components/IntroOverlay.tsx - Contour canvas
src/components/HeroCanvasV2.tsx - Phone navigation
src/components/TabBar.tsx
Portfolio pages
- Home
src/components/Home.tsx - Projects
src/components/ProjectsGrid.tsx - Services
src/components/ServicesGrid.tsx - Workflow showcase
src/components/Autopilot.tsx - Showcase
src/components/ShowcaseGrid.tsx - 3D carousel
src/components/FunnelBarrel.tsx - Testimonials
src/components/TestimonialsGrid.tsx - About
src/components/AboutGrid.tsx - Contact
src/components/ContactGrid.tsx - AI stack view
src/components/AIStack.tsx
Content and data
- Profile content
src/data/profile.ts - Project entries
src/data/projects.ts - Funnel entries
src/data/funnels.ts - AI stack content
src/data/ai-stack.ts
Visitor controls
- Contact handler
src/lib/contact.ts - Accessibility menu
src/components/AccessMenu.tsx - Accessibility prefs
src/lib/a11y.ts - Theme control
src/lib/theme.ts - Performance gate
src/lib/perf.ts
Other components
- Visitor
- Visitor email app
Connections 28
- Visitor → Route setup: opens site
src/main.tsx - Route setup → Site shell: mounts routes in
src/main.tsx - Route setup → Home: routes to
src/main.tsx - Site shell → Home: renders outlet
src/App.tsx - Route setup → Projects: routes via view
src/main.tsx - Route setup → Services: routes via view
src/main.tsx - Route setup → Showcase: routes via view
src/main.tsx - Route setup → Testimonials: routes to
src/main.tsx - Route setup → About: routes to
src/main.tsx - Route setup → Contact: routes to
src/main.tsx - Services → Workflow showcase: renders
src/components/ServicesGrid.tsx - Showcase → 3D carousel: displays carousel
- Home → Profile content: reads
src/components/Home.tsx - About → Profile content: reads
src/components/AboutGrid.tsx - Contact → Profile content: reads
src/components/ContactGrid.tsx - Projects → Project entries: reads
src/components/ProjectsGrid.tsx - Projects → Funnel entries: reads
src/components/ProjectsGrid.tsx - Projects → AI stack content: reads
src/components/ProjectsGrid.tsx - AI stack view → AI stack content: renders data
src/components/AIStack.tsx - Contact → Contact handler: uses
src/components/ContactGrid.tsx - Contact handler → Visitor email app: opens by default
README.md - Site shell → Intro overlay: renders
src/App.tsx - Site shell → Contour canvas: lazy-loads
src/App.tsx - Site shell → Phone navigation: renders on phone
src/App.tsx - Site shell → Accessibility menu: renders
src/App.tsx - Accessibility menu → Accessibility prefs: uses preferences
src/components/AccessMenu.tsx - Site shell → Performance gate: measures frame health
src/App.tsx - Contour canvas → Theme control: listens for theme
src/lib/theme.ts