How emman-likha/portpolyoniemman works
This repository is a personal portfolio website. Visitors browse the home page’s profile, project, experience, and contact sections, or open a full project archive; the contact form uses CAPTCHA verification before submitting a message to Web3Forms. The graph also shows shared presentation layers and layout effects. The contact API route is present in the tree, but its behavior and any connections are not established by the supplied excerpts.
Main entry points: page.tsx Home Page · Projects.tsx Featured Projects · Contact.tsx Contact Form · Section.tsx Section Wrapper
Components 23
Portfolio Pages
- Home Page
app/page.tsx - Project Archive
app/projects/page.tsx
Portfolio Content
- Hero
app/components/sections/Hero.tsx - About
app/components/sections/About.tsx - Featured Projects
app/components/sections/Projects.tsx - Experience
app/components/sections/Experience.tsx - Skills
app/components/sections/Skills.tsx - Project Data
app/data/projects.ts - Experience Data
app/data/experience.ts
Shared Presentation
- Navigation
app/components/Navbar.tsx - Footer
app/components/Footer.tsx - Section Wrapper
app/components/Section.tsx - Button
app/components/ui/Button.tsx - Class Utility
app/utils/cn.ts - Project Preview
app/components/ui/MicrolinkPreview.tsx - Root Layout
app/layout.tsx - Cursor Spotlight
app/components/ui/CursorSpotlight.tsx - Grain Overlay
app/components/ui/GrainOverlay.tsx - Microlink API
Contact Integrations
- Contact Form
app/components/sections/Contact.tsx - hCaptcha
- Web3Forms
Other components
- Visitor
Connections 28
- Visitor → Home Page: opens
app/page.tsx - Visitor → Project Archive: opens
app/projects/page.tsx - Home Page → Navigation: renders
app/page.tsx - Home Page → Hero: renders
app/page.tsx - Home Page → About: renders
app/page.tsx - Home Page → Featured Projects: renders
app/page.tsx - Home Page → Experience: renders
app/page.tsx - Home Page → Contact Form: renders
app/page.tsx - Home Page → Footer: renders
app/page.tsx - Hero → Section Wrapper: uses
app/components/sections/Hero.tsx - Hero → Button: uses
app/components/sections/Hero.tsx - About → Section Wrapper: uses
app/components/sections/About.tsx - Featured Projects → Section Wrapper: uses
app/components/sections/Projects.tsx - Featured Projects → Button: uses
app/components/sections/Projects.tsx - Featured Projects → Project Data: reads
app/components/sections/Projects.tsx - Featured Projects → Project Preview: renders
app/components/sections/Projects.tsx - Experience → Experience Data: reads
app/components/sections/Experience.tsx - Skills → Section Wrapper: uses
app/components/sections/Skills.tsx - Contact Form → Section Wrapper: uses
app/components/sections/Contact.tsx - Contact Form → Button: uses
app/components/sections/Contact.tsx - Contact Form → hCaptcha: verifies
app/components/sections/Contact.tsx - Contact Form → Web3Forms: submits
app/components/sections/Contact.tsx - Button → Class Utility: imports
app/components/ui/Button.tsx - Project Archive → Project Data: reads
app/projects/page.tsx - Project Archive → Microlink API: loads screenshots
app/projects/page.tsx - Project Preview → Microlink API: loads screenshots
app/components/ui/MicrolinkPreview.tsx - Root Layout → Cursor Spotlight: renders
app/layout.tsx - Root Layout → Grain Overlay: renders
app/layout.tsx