Modern, fast, and accessible portfolio showcasing interactive demos, selected client work, and services. Each demo includes an embedded “View code” panel and a short README so employers can quickly grok the approach.
src/
App.jsx # App shell, routing, navigation
components/
ProjectLayout.jsx # Sticky TOC + next project + content
ProjectThumb.jsx # Lightweight SVG thumbnail
Reveal.jsx # IntersectionObserver reveal
CaseStudy.jsx # Overview/Role/Stack/Challenges/Results
DemoReadme.jsx # Short problem/approach/highlights panel
demos/ # Demo components with embedded CodeViewer
pages/ # Demo pages wired to ProjectLayout
public/
index.html # Fonts/meta
_redirects # SPA rewrites
netlify.toml # Build and headers
Clone the repository
git clone <your-repo-url>
cd Portfolio
Install dependencies
npm install
Run the app
npm start
# open http://localhost:3000
The ACF chat assistant is a Netlify Function (netlify/functions/chat.js). To exercise the real LLM call path locally, run netlify dev instead of npm start and set ANTHROPIC_API_KEY (or OPENAI_API_KEY + LLM_PROVIDER=openai) as an environment variable — never commit it. Without a key, the assistant still renders and responds with a friendly fallback message.
Open Projects to explore interactive demos. Each includes a “View code” button and a README panel.
Professional services offered:
projects object in App.jsxApp.jsxThis project is open source and available under the MIT License.
Built with ❤️ by Cael Findley
224 commits
JavaScript
99.5%
Modern, fast, and accessible portfolio showcasing interactive demos, selected client work, and services. Each demo includes an embedded “View code” panel and a short README so employers can quickly grok the approach.
src/
App.jsx # App shell, routing, navigation
components/
ProjectLayout.jsx # Sticky TOC + next project + content
ProjectThumb.jsx # Lightweight SVG thumbnail
Reveal.jsx # IntersectionObserver reveal
CaseStudy.jsx # Overview/Role/Stack/Challenges/Results
DemoReadme.jsx # Short problem/approach/highlights panel
demos/ # Demo components with embedded CodeViewer
pages/ # Demo pages wired to ProjectLayout
public/
index.html # Fonts/meta
_redirects # SPA rewrites
netlify.toml # Build and headers
Clone the repository
git clone <your-repo-url>
cd Portfolio
Install dependencies
npm install
Run the app
npm start
# open http://localhost:3000
The ACF chat assistant is a Netlify Function (netlify/functions/chat.js). To exercise the real LLM call path locally, run netlify dev instead of npm start and set ANTHROPIC_API_KEY (or OPENAI_API_KEY + LLM_PROVIDER=openai) as an environment variable — never commit it. Without a key, the assistant still renders and responds with a friendly fallback message.
Open Projects to explore interactive demos. Each includes a “View code” button and a README panel.
Professional services offered:
projects object in App.jsxApp.jsxThis project is open source and available under the MIT License.
Built with ❤️ by Cael Findley
224 commits
JavaScript
99.5%