How tysia-fr/portfolio works
This is a French-language personal portfolio for Siavash Izadi. A visitor browses the home page and project case studies, reads profile and career information, or submits a contact form; project and page content is typed, static repository data. The site also presents its delivery pipeline and a shared logo animation, with a separate Remotion video capability. The graph reflects documented and indexed relationships; unsampled page wiring is not inferred.
Main entry points: projects.ts Project queries · page.tsx Home page · contact-form.tsx Contact form · route.ts Contact endpoint
Components 23
Visitor experience
- Home page
src/app/page.tsx - Project listing
src/app/projets/page.tsx - Project case study
src/app/projets/[slug]/page.tsx - Profile and CV
src/app/a-propos/page.tsx - Career page
src/app/alternance/page.tsx - Legal page
src/app/mentions-legales/page.tsx - Delivery diagram
src/components/pipeline/pipeline-diagram.tsx
Portfolio content
- Project queries
src/lib/projects.ts - Project catalogue
src/content/projects/index.ts - Project schema
src/content/projects/schema.ts - Site copy
src/content - Pipeline description
src/content/pipeline.ts - Page metadata
src/lib/metadata.ts
Contact flow
- Contact page
src/app/contact/page.tsx - Contact form
src/components/contact/contact-form.tsx - Contact endpoint
src/app/api/contact/route.ts - Validation and limits
src/lib/contact - Email delivery
src/lib/contact/email.ts
Brand and motion
- Site logo animation
src/components/brand - Shared logo geometry
src/components/brand/logo-geometry.ts - Logo video
motion/src/LogoSignal.tsx
Other components
- Site visitor
- Resend
Connections 21
- Site visitor → Home page: browses
- Home page → Project queries: loads featured
src/app/page.tsx - Home page → Delivery diagram: renders
src/app/page.tsx - Delivery diagram → Pipeline description: reads steps
src/components/pipeline/pipeline-diagram.tsx - Project listing → Project queries: loads projects
src/app/projets/page.tsx - Project case study → Project queries: loads case study
src/app/projets/[slug]/page.tsx - Project queries → Project catalogue: parses catalogue
src/lib/projects.ts - Project queries → Project schema: validates entries
src/lib/projects.ts - Profile and CV → Site copy: reads profile copy
src/app/a-propos/page.tsx - Career page → Site copy: reads career copy
src/app/alternance/page.tsx - Legal page → Site copy: reads legal copy
src/app/mentions-legales/page.tsx - Contact page → Contact form: renders form
src/app/contact/page.tsx - Contact form → Contact endpoint: submits message
README.md - Contact form → Validation and limits: uses limits
src/components/contact/contact-form.tsx - Contact endpoint → Validation and limits: validates and limits
src/app/api/contact/route.ts - Contact endpoint → Email delivery: sends message
src/app/api/contact/route.ts - Email delivery → Resend: delivers email
README.md - Site logo animation → Shared logo geometry: shares geometry
README.md - Logo video → Shared logo geometry: shares geometry
README.md - Site visitor → Project listing: browses
- Site visitor → Contact page: opens contact