Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/apursley2012/player-one/llms.txt

Use this file to discover all available pages before exploring further.

There are two ways to run Player One on your local machine. The quickest option is spinning up a zero-config static file server against the repository root — because the project ships with pre-built assets, the site works immediately without any compilation step. Alternatively, if you have access to the original Vite source project, you can use the full Vite dev server to get hot module replacement while you edit components.

Quick Preview with a Static Server

Because index.html lives at the repository root and assets/main.js / assets/main.css are already compiled, any static HTTP server can serve the site. The built-in hash-based router (#/) handles all client-side navigation without requiring any server-side rewrites. Serve the project root on port 3000 with npx serve:
npx serve . -p 3000
Or use npx http-server as an alternative:
npx http-server . -p 3000
Then open http://localhost:3000 in your browser. The page will automatically redirect to #/ if no hash is present, thanks to the bootstrap script in index.html.

Available Routes

All seven pages are accessible via hash URLs — no server configuration is needed:
PageHash URL
Home#/
About#/about
Projects#/projects
Skills#/skills
Writing#/writing
Case Studies#/case-studies
Contact#/contact
Hash-based routing means the browser never sends a path like /about to the server — the entire route lives after the # and is resolved entirely in the client. This makes Player One compatible with every static hosting provider without requiring any redirect rules or _redirects files.

Development with Vite

If the original Vite source project is available, you can start the dev server for live component editing with hot module replacement:
npm run dev
The Vite dev server will start at http://localhost:5173 by default.
The player-one repository contains compiled and bundled JavaScript in assets/main.js — the original JSX source files are not included in the public repository. To modify React components (e.g. Navigation.js, CRTOverlay.js, HUD.js), you need access to the original Vite source project with the unminified JSX source. The documentation on this site covers the built output as distributed.

Production Build

When you are ready to deploy, generate an optimised production bundle with:
npm run build
Vite compiles the application, tree-shakes unused code, and outputs everything to a dist/ directory. The expected output structure is:
dist/
├── index.html
├── assets/
│   ├── main.js
│   └── main.css
└── pages/
    ├── About.html
    ├── CaseStudies.html
    ├── Contact.html
    ├── Home.html
    ├── Projects.html
    ├── Skills.html
    └── Writing.html
The dist/ directory is entirely self-contained and can be uploaded directly to any static hosting provider.

Deploying to Static Hosts

GitHub Pages

Push the dist/ folder to a gh-pages branch, or configure GitHub Actions to run npm run build and publish automatically on every push to main.

Netlify

Connect your repository and set the build command to npm run build with the publish directory set to dist. Netlify deploys on every push automatically.

Vercel

Import the repository into Vercel and it will auto-detect the Vite framework, set the correct build command, and deploy to a global edge network with zero configuration.

Cloudflare Pages

Connect your Git repository to Cloudflare Pages, set the build command to npm run build and the output directory to dist, and get unlimited free deployments on Cloudflare’s global CDN.
Because Player One uses hash-based routing (#/, #/about, #/projects, etc.), all navigation is resolved entirely in the browser. There is no need to configure redirect rules, a _redirects file, or a vercel.json rewrite on any of these platforms — the single index.html entry point handles every route automatically.

Build docs developers (and LLMs) love