| Premium recruiter-facing executive architecture portfolio for Jacob Maynard, Founder | AI Systems Architect. |
Live production domain: https://portfolio.jacobmaynard.co
npm install
npm run dev
Open http://localhost:3000.
| Command | Purpose |
|---|---|
npm run dev |
Local development server |
npm run build |
Production build |
npm run start |
Serve production build |
npm run lint |
ESLint |
src/
app/ # Layout, metadata, OG image, favicon, sitemap
components/
sections/ # Hero through Contact
PortfolioShell.tsx # Navigation + section assembly
hooks/ # Active section tracking
lib/content.ts # Copy and structured content
public/downloads/ # Resume + portfolio PDFs
No required environment variables for local or production.
Optional (if you later add analytics or form handlers):
| Variable | Purpose |
|---|---|
NEXT_PUBLIC_SITE_URL |
Override canonical site URL (defaults to https://portfolio.jacobmaynard.co via code) |
/downloads/Jacob-Maynard-Resume.pdf/downloads/Jacob-Maynard-Portfolio.pdfReplace the email placeholder in src/lib/content.ts (emailPlaceholder) when a public contact address is ready.
npm i -g vercel
vercel login
vercel
vercel --prod
vercel domains add portfolio.jacobmaynard.co
npm run buildportfolio.jacobmaynard.coDomain is already attached in Vercel to project jacob-maynard-portfolio.
In Namecheap → Domain List → jacobmaynard.co → Manage → Advanced DNS, add:
| Type | Host | Value | TTL |
|---|---|---|---|
| CNAME Record | portfolio |
6eab7719ec5ef5cf.vercel-dns-017.com. |
Automatic |
| Type | Host | Value | TTL |
|---|---|---|---|
| CNAME Record | portfolio |
cname.vercel-dns.com. |
Automatic |
| or A Record | portfolio |
76.76.21.21 |
Automatic |
Notes:
URL Redirect, A, or CNAME records for host portfolio.jacobmaynard.co unless you intentionally migrate nameservers.vercel domains verify portfolio.jacobmaynard.co:focus-visible states#18365B#B78A2D#FAFAF8#222222