Skip to content

Repository files navigation

hzeghari.dev

Personal portfolio for Hamza Zeghari — full-stack developer based in Casablanca, Morocco.

Built with Next.js 16 (App Router), React 19, Tailwind CSS 4, and Framer Motion.

Sections

Route / anchor What it is
/ Hero, About, Experience, Projects, Contact
/resume Printable résumé (use Print → Save as PDF)
/#about Bio, photo, featured skills
/#experience Tabbed work history
/#projects Featured and supporting project cards
/#contact Email CTA and social links

Content

Almost everything editable lives under app/constants/:

File Holds
infos.ts Contact info, experience, education, certifications
projects.ts Project cards on the homepage
skills.ts Featured skills (About) and categorized résumé skills
nav.ts Header navigation + scroll-spy section ids
social.ts Footer / contact social profile URLs
site.ts Site URL, titles, descriptions, theme colours

Set NEXT_PUBLIC_SITE_URL on preview deployments so OG tags and the sitemap advertise that origin instead of production.

Development

npm install
npm run dev

Open http://localhost:3000.

npm run lint        # ESLint
npm run typecheck   # TypeScript (no emit)
npm run format      # Prettier write
npm run build       # Production build

Design notes

  • Brand fonts are self-hosted: Signifier (serif) and Mabry / Mabry Mono (sans / mono). Geist from create-next-app is not used.
  • Dark mode is class-based (html.dark), with a small inline script that applies the stored preference before first paint.
  • Open Graph, Apple Touch, and PWA icons are generated by app/opengraph-image.tsx, app/apple-icon.tsx, and app/icon.tsx.

Deploy

Deployed on Vercel. Production domain: hzeghari.dev.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages