Getting Magical Portfolio running on your local machine involves cloning the repository, installing its npm dependencies, and starting the Vite development server. The entire stack — React 18, Framer Motion, Tailwind CSS, and React Router v6 with hash routing — is wired up and ready to go out of the box.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/magical/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you begin, make sure the following tools are installed on your system:- Node.js ≥ 18 — Required for the Vite build toolchain and all npm scripts. Check with
node -v. - npm ≥ 9 (or yarn / pnpm) — Used to install dependencies and run scripts. Check with
npm -v. - Git — Used to clone the repository. Check with
git --version.
Setup Steps
Clone the repository
Clone the Magical Portfolio repository from GitHub and navigate into the project directory:
Install dependencies
Install all required packages. The project uses React 18, Framer Motion, Tailwind CSS, Lucide React, React Router v6, and Vite.
Start the development server
Launch the Vite development server with hot module replacement:Vite will start and print output similar to:Open http://localhost:5173/ in your browser to see the portfolio.
Explore the app routes
Once the app is open, you’ll land on the animated home portal displaying six tarot-card-style navigation tiles. Click any card — or use the top navigation bar — to explore the pages:
| Route | Page Title | Description |
|---|---|---|
/#/ | Home (Portal) | Animated name reveal and navigation cards |
/#/about | The Chronicle | Origins & biography sections |
/#/projects | The Grimoire | Flip-card project gallery |
/#/skills | Affinities | Radial skill orbit diagram |
/#/writing | The Tomes | Animated bookshelf of writing entries |
/#/case-studies | Rituals | Deep-dive case study pages |
/#/contact | The Summoning | Animated contact form |
Magical Portfolio uses hash-based routing (React Router v6
HashRouter). All URLs will look like http://localhost:5173/#/about rather than http://localhost:5173/about. This is intentional — it allows the built dist/ folder to be deployed on any static file host (GitHub Pages, Netlify, etc.) without any server-side redirect configuration.