Personal cybersecurity portfolio built with Next.js 16, Framer Motion, and Tailwind CSS.
| Layer | Tech |
|---|---|
| Framework | Next.js 16 (App Router) |
| Styling | Tailwind CSS v4 |
| Animations | Framer Motion |
| Fonts | Inter + JetBrains Mono |
| Deployment | Vercel |
| Domain | Namecheap → vincentiwuno.me |
- Hero — typing effect, glitch animation, parallax orbs
- About — avatar card with 3D tilt, social links, CV download
- Skills — mouse-tracked glow cards, 6 categories
- Experience — scroll-driven timeline, expandable entries
- Projects — status badges, impact callouts, WIP section
- CTF — platform cards, skill breakdown bars, writeup previews
- Blog — featured post, newsletter CTA
- Contact — form with send state, availability badge
- Custom loader with matrix rain + terminal boot sequence
- Konami code easter egg (
↑↑↓↓←→←→BA) - Background video with WebM/MP4 fallback
- Full SEO — OG image, JSON-LD schema, sitemap, robots.txt
- PWA manifest
- Responsive across all screen sizes
git clone https://github.com/Vlex127/0xvince
cd 0xvince
npm install
npm run devOpen localhost:3000
app/
page.tsx # imports all sections
layout.tsx # metadata + fonts
globals.css # CSS variables + keyframes
components/
Hero.tsx
About.tsx
Skills.tsx
Experience.tsx
Projects.tsx
CTF.tsx
Blog.tsx
Contact.tsx
Loader.tsx
Navbar.tsx
AnimatedSection.tsx
KonamiEasterEgg.tsx
lib/
data.ts # all content data
public/
og.png # OG image 1200x630
favicon.ico
output.mp4 # hero background video
profile.png # avatar image
- Video: WebM + MP4 with
faststartflag, stripped audio - Images: Next.js
<Image>withpriority+quality={90} - Fonts:
display: swapon all Google Fonts - Cache:
max-age=31536000on static assets vianext.config.ts
MIT — feel free to use as inspiration. Don't copy it wholesale.
Built by Vincent Iwuno · @0xvince
