Web Weaver is a React single-page application designed as a fully realized developer portfolio template with a dark mystical aesthetic. It blends modern frontend engineering with an immersive witchcraft-inspired design language — deep teal, aged parchment, and glowing amber — making it a standout starting point for developers who want their portfolio to feel like a world, not just a page.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/web-weaver/llms.txt
Use this file to discover all available pages before exploring further.
Design Philosophy
Every design decision in Web Weaver reinforces a single narrative: you are a practitioner of the digital arts. The visual identity is built on restraint and atmosphere rather than noise. Color Palette — The palette is defined as CSS custom properties that cascade through every component:| Token | Value | Usage |
|---|---|---|
--color-ink | #0f172a | Page background, deep shadows |
--color-teal-dark | #0a3a3f | Borders, subtle containers |
--color-teal-mid | #14b8a6 | Secondary accents, SVG strokes |
--color-teal-bright | #5eead4 | Primary accent, headings, hover states |
--color-parchment | #f4f1ea | Body text, card surfaces |
--color-amber | #fbbf24 | Candle flames, star glints |
font-serif, every UI label in font-mono.
Tech Stack
Web Weaver is built with a focused, production-grade stack. No experimental dependencies — only proven tools.| Technology | Version | Role |
|---|---|---|
| React | 18 | UI component model, hooks |
| React Router | v6 | Hash-based client-side routing |
| Framer Motion | latest | Page transitions, micro-animations |
| Tailwind CSS | v3 | Utility-first styling with custom tokens |
| Vite | latest | Dev server, production build, bundling |
HashRouter) so the app can be deployed as a fully static site — no server-side routing required. Every URL uses a # fragment: #/about, #/projects, #/skills, and so on.
Project Structure
The repository is organized around a flat, predictable layout optimized for static hosting:assets/main.js after the Vite build. The components/ directory holds each UI component as an ES module, imported by the main bundle.
Hash Router and Static HTML Pages
Web Weaver’s routing strategy makes it compatible with any static host (GitHub Pages, Netlify, Cloudflare Pages) without needing redirect rules. TheLayout.js component wraps the entire app in a HashRouter. Route segments appear after the # character in the URL, so the browser never makes a request for a path like /projects — it only ever fetches index.html.
Each file under pages/ is a standalone HTML document that pre-loads the same React bundle and injects a bootstrap script to force the hash to the correct route on first load:
pages/About.html can be shared as a direct link. The browser loads the static file, the script sets window.location.hash = "/about", and React Router renders the correct page — no server configuration required.
Global Ambient Effects
Three components run persistently across every route, rendered once at the top level insideLayout.js:
- EmberCursor — Replaces the default cursor with a glowing ember trail that follows mouse movement. Uses Framer Motion to animate fading particles.
- FogLayer — A full-viewport overlay of animated, semi-transparent fog gradients. Runs on a looping
requestAnimationFramecycle and responds to scroll depth. - BlackCat — A small decorative cat sprite that wanders the bottom edge of the screen between routes. Idles, walks, and occasionally pauses to look at the cursor.
prefers-reduced-motion setting.
Routes at a Glance
| Path | Component | Description |
|---|---|---|
/ | HeroSection | Landing: animated name, tagline, “Summon Me” CTA |
/about | About | Bio paragraphs, Sigil SVG, three stat counters |
/projects | Projects | Gallery filtered by MoonPhase selector |
/skills | Skills | Pentagram visualization with labeled skill nodes |
/work | Work | Timeline with Candle-based role selectors |
/case-studies | CaseStudies | Scrolls with WaxSeal content reveal |
/blog | Blog | TarotCard grid of post tiles |
/testimonials | Testimonials | Familiar animal avatar testimonial cards |
/contact | Contact | Form with animated Cauldron |
Explore Further
Quickstart
Clone the repo, install dependencies, and run the dev server in four steps.
Home Page
Anatomy of the Hero landing page and the HeroSection component.
Components
Reference for every UI component: props, animations, and usage examples.
Theming
Swap color tokens, fonts, and Tailwind config to make it your own.