Sys.Witch V2 follows a flat component architecture — there is noDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/sys.witch-v2/llms.txt
Use this file to discover all available pages before exploring further.
src/ subdirectory. Everything lives at the repository root, organized by concern: HTML shells, compiled assets, React components, and content data all sit alongside each other at the top level. This keeps imports short and the project easy to navigate.
How pages work
Sys.Witch V2 is a React SPA. Each.html file (about.html, projects.html, skills.html, writing.html, casestudies.html, contact.html, articles.html, work.html, testimonials.html, placeholders.html) is an identical static shell — the same <div id="root"></div> target that loads the same compiled React bundle from assets/main.js. None of those HTML files contain any unique markup.
React Router v6 handles all client-side navigation. When a visitor clicks a nav link, React Router intercepts the event and swaps the rendered component inside the <main> region of the Layout shell without triggering a full page reload. Framer Motion’s AnimatePresence wraps each route transition so entering and exiting pages blur and scale in/out smoothly.
The static HTML shells exist to ensure direct URL access still works when deployed to GitHub Pages — each file resolves to the same bundle, which then reads window.location and renders the correct route immediately.
Data vs Components
The project maintains a clear separation between content and presentation:-
data/files are pure content you edit frequently. They export simple JavaScript arrays of plain objects — no JSX, no imports, no framework knowledge required. This is where you put your project titles, skill names, writing entries, and case study text. -
components/files are the reusable UI you rarely touch unless you are customizing the visual design. They consume data fromdata/through props and render it using Tailwind classes, Framer Motion animations, and the neon color token system.
data/, without opening a single component.
The
assets/ directory is Vite build output — do not edit files inside it directly. Your source is in components/ and data/.