In this guide you will clone the Magical Portfolio repository, install its dependencies, and launch the Vite development server. By the end you will have a fully animated, dark-themed React portfolio running locally atDocumentation 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.
http://localhost:5173 — ready to explore all seven arcane routes and begin customising the content for your own identity.
Clone the repository
Clone the Magical Portfolio source to your local machine and navigate into the project directory.
Install dependencies
Install all required packages. Choose whichever package manager you prefer — all three produce an equivalent The key dependencies that will be installed include:
node_modules tree.reactandreact-dom(v18)react-router-dom(v6)framer-motionlucide-reacttailwindcss,autoprefixer,postcssviteand@vitejs/plugin-react
Start the dev server
Launch the Vite development server with the standard dev script.Alternatively, if you have Vite installed globally or via Vite will print output similar to the following:Open your browser and visit http://localhost:5173 to see The Portal — Elara Nightshade’s animated hero page — come to life.
npx:Explore the routes
The app uses hash-based routing, so every route is accessible from the same running dev server. Navigate directly to any of the seven arcane sections by appending the hash fragment to
http://localhost:5173:| Hash URL | Arcane Name | Section |
|---|---|---|
http://localhost:5173/#/ | The Portal | Hero / landing |
http://localhost:5173/#/about | The Chronicle | About & biography |
http://localhost:5173/#/projects | The Grimoire | Projects showcase |
http://localhost:5173/#/skills | Affinities | Skills grid |
http://localhost:5173/#/writing | Tomes | Writing & articles |
http://localhost:5173/#/case-studies | Rituals | Case studies |
http://localhost:5173/#/contact | The Summoning | Contact form |
Because Magical Portfolio uses hash routing, the
#/ fragment is what tells React Router which view to render — not the path before the #. This means the app works correctly when deployed to any static file host (GitHub Pages, Netlify, Vercel, S3, etc.) with zero server-side redirect configuration. When you refresh the browser on any route, the host serves the same index.html and the hash fragment drives the navigation.Build for production
When you are ready to deploy, run the Vite production build:Vite compiles and bundles the application into the To preview the production build locally before deploying:This serves the
dist/ directory:dist/ output at http://localhost:4173 so you can verify the build behaves exactly as expected before pushing to your host.