Personal website of Jp Valery — portfolio, projects, photography, and more.
Live at jpvalery.me
- Framework: Next.js 15 (App Router, Turbopack)
- Styling: Tailwind CSS v4 with
@tailwindcss/typographyand@tailwindcss/forms - Content: MDX via
@next/mdxwithremark-gfmandrehype-highlight - UI: Headless UI v2,
next-themesfor dark/light mode - Fonts: JetBrains Mono, Departure Mono
- Analytics: Umami (self-hosted)
- Email: Customer.io transactional API
- Linting: Biome v2
- Package Manager: pnpm
src/
├── app/ # Next.js App Router pages and layouts
│ ├── about/ # About hub (/now, /stack, /dashboard)
│ ├── contact/ # Contact forms (generic, photography, advisorship, consultancy)
│ ├── date/ # Dating profile (noindexed)
│ ├── now/ # /now page with historical timeline
│ ├── photography/
│ ├── projects/ # Active projects + cemetery
│ └── work/ # Work, recommendations, how-to-work-with-me
├── components/ # Reusable React components
├── content/ # JSON data (stack, cemetery, navigation)
├── images/ # Static images
├── lib/ # Utilities
└── styles/ # Global styles
public/ # Static assets
- Home — Bio, social links, photo strip
- About — /now updates, gear/software stack, live dashboard
- Work — Professional background, recommendations, advisorship & consultancy
- Projects — Active projects (TrimCarbon, FLAPS, MSFS Flightlog, Cuisinomicon) and project cemetery
- Photography — Links to portfolio, archive, Montréal Photo Club, Unsplash
- Contact — Category-specific contact forms