Skip to content

Repository files navigation

Neil Mitchell - Career Portfolio

Project and delivery leadership for applied AI/ML engineering, grounded in seven years of TD Insurance experience.

View the live portfolio · View the résumé · LinkedIn

CI status Latest release Production status Next.js 16 TypeScript strict mode

Portfolio preview

About

This repository contains Neil Mitchell's personal career portfolio. It presents his current Project Manager II role in Applied AI/ML Engineering, his TD career path, delivery approach, technical capabilities, selected impact measures, and current résumé.

The portfolio is personal and unofficial. It is not a TD Bank Group or TD Insurance website.

What the site includes

Area Purpose
Hero Photographic introduction, current role, experience and résumé access
Career Featured current role and four native disclosures retaining the complete career
Approach Six stages from business objective through learning and improvement
Expertise Delivery strengths, platform experience, and hands-on technical practice
Impact Career measures with count-up animation and supporting context
Works Independent technical case studies with clear evidence and attribution boundaries
Contact Direct contact options and a clear personal-site disclaimer

Technology

  • Next.js 16 App Router with static export
  • React 19 with the TypeScript 7 compiler and TypeScript 6 compatibility API
  • Purpose-built CSS for normalization, design tokens, and responsive layouts
  • Native React and browser APIs for theme preference, navigation, progress, and metric animation
  • Vercel for production hosting

No UI, icon, or animation library is required.

The locally hosted Manrope variable font, photographic hero, and responsive presentation are documented in DESIGN.md. The audience and content principles are in PRODUCT.md.

TypeScript 7 supplies the native compiler invoked by npm run typecheck. The standard TypeScript 6 package remains installed for the compiler API required by Next.js and typescript-eslint during the TypeScript 7.0 transition.

Architecture

flowchart LR
  Career["career data"] --> Sections["home-page sections"]
  Projects["data/projects.ts"] --> Sections
  Projects --> Works["/works + static case studies"]
  Components["shared components"] --> Sections
  Components --> Works
  Tokens["design tokens and layouts"] --> Sections
  Tokens --> Works
  Sections --> Build["Next.js static export"]
  Works --> Build
  Build --> Out["out/"]
  Out --> Vercel["Vercel production"]
Loading

Content is kept separate from presentation so career updates can be made in data/ without rewriting component markup. See Architecture and Content Guide for details.

Local development

Requirements:

  • Node.js 24.x
  • npm 11 or newer
git clone https://github.com/CRSD-Lau/Personal-Site.git
cd Personal-Site
npm ci
npm run dev

Open http://localhost:3000.

Commands

Command Purpose
npm run dev Start the Next.js development server
npm run build Create the static export in out/
npm run preview Serve the exported site at http://localhost:4174
npm run format Format source, documentation, and repository files
npm run lint Run ESLint with warnings treated as failures
npm run typecheck Run the TypeScript compiler without emitting files
npm test Validate career facts, project evidence, links, licences, and assets
npm run validate Run every release gate, including a production build

Content and assets

Path Responsibility
data/profile.ts Identity, current role, hero copy, links, and contact content
data/experience.ts Career chronology, role summaries, and responsibilities
data/approach.ts Delivery stages and working principles
data/skills.ts Capability groups and platform knowledge
data/impact.ts Impact metrics and supporting stories
data/projects.ts Independent project records, evidence snapshots, and links
app/icon.png Round headshot favicon
public/opengraph-image.png Social preview image for root-page link embeds
public/works/deep-live-cam/social-preview.png Reviewed Deep Live Cam Studio repository artwork
app/manifest.ts Install metadata and app icon declaration
app/robots.ts Search crawler policy and sitemap discovery
app/sitemap.ts Canonical production URL for search indexing
public/profile.webp Hero portrait
public/logo.png Official TD employer marker used beside TD roles
public/resume.pdf Public résumé downloaded from the site

Follow the evidence and wording rules in the Content Guide before changing career claims, impact figures, or independent-project records. The project preview's separate source terms and provenance are recorded in LICENSE.md.

Résumé workflow

The editable résumé source is documents/Neil-Mitchell-Resume.docx. The published copy is public/resume.pdf.

The build helper creates the DOCX and finalizes PDF metadata:

python scripts/build-resume.py
python scripts/build-resume.py --pdf-input path/to/converted.pdf

Microsoft Word or another compatible renderer is used between those commands to convert DOCX to PDF. The final PDF and DOCX must list Neil Mitchell as author and modifier.

Quality and release process

Every push and pull request to main runs the same npm run validate gate used locally. Dependabot checks npm and GitHub Actions dependencies on a weekly schedule.

Release history is recorded in CHANGELOG.md. The full publishing and rollback workflow is documented in Deployment and Release Process.

Contributing and security

Licence and employer notice

Copyright © 2026 Neil Mitchell. All rights reserved. See LICENSE.md.

TD, TD Bank Group, TD Insurance, and related marks belong to their respective owners. Their names and logo appear only to describe employment history. This repository and website are personal and unofficial.

About

Neil Mitchell's career portfolio for applied AI/ML project delivery, grounded in seven years of TD Insurance experience.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages