My personal portfolio site, built to showcase my work, experience, and skills.
Live site: oyelolavictoria.dev
- React + TypeScript
- Vite for tooling and dev server
- Tailwind CSS for styling
- GSAP for animations
- Lenis for smooth scrolling
- React Router for routing
- Home page with experience, skills, projects, talks, blogs, and contact sections
- Dedicated pages for the full projects list and talks
- Filterable project cards
- Contact form with validation and reCAPTCHA challenge
This code is shared publicly for reference purposes only. It is not licensed for reuse, redistribution, or forking as a template for your own site. See LICENSE for details.
Install dependencies:
npm installRun the dev server:
npm run devBuild for production:
npm run buildPreview the production build:
npm run previewLint the project:
npm run lintsrc/
├── components/ # UI components (Hero, Experience, Projects, Contact, etc.)
├── pages/ # Route-level pages (Home, Projects, Talks, NotFound)
├── data/ # Static content (projects, experience, skills, talks, blogs)
├── contexts/ # React context providers
├── hooks/ # Custom hooks
└── types/ # Shared TypeScript types
Deployed as a static site with SPA fallback routing (public/_redirects), compatible with Netlify.
