Oracle is a single-page application (SPA) compiled from a React 18 codebase and deployed as a fully static bundle on GitHub Pages. The production output — HTML, CSS, and JavaScript — lives directly in the repository root, meaning no server-side runtime or build pipeline is needed to serve the site. Client-side routing is handled by React Router v6’sDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/oracle/llms.txt
Use this file to discover all available pages before exploring further.
HashRouter, animations are driven by Framer Motion, and the visual design is powered by Tailwind CSS with a custom mystical color palette.
Tech Stack
| Tool | Version / Notes | Purpose |
|---|---|---|
| React | 18.x | UI framework — component rendering and state |
| Vite | Bundler | Build tool, dev server, and code splitting via modulepreload |
| React Router v6 | react-router-dom 6.30.4 | Client-side routing using HashRouter (/#/path) |
| Framer Motion | framer-motion | Page transitions and element animations |
| Tailwind CSS | tailwindcss | Utility-first styling with custom design tokens |
File Structure
Custom Tailwind Tokens
Oracle’s Tailwind configuration defines a set of named color tokens that match the mystical portfolio theme. Use these token names in utility classes (e.g.bg-dark, text-turquoise).
| Token | Hex Value | Usage |
|---|---|---|
turquoise | #1de9b6 | Primary accent — links, highlights, active states |
dark | #051618 | Deep background base |
midnight | #0a2a2e | Secondary background, card surfaces |
parchment | #fdf6e3 | Body text, light-on-dark contrast |
gold | #e8c468 | Decorative highlights, headings |
Deployment
Oracle is deployed as a static site on GitHub Pages. The Vite build outputs all assets (JavaScript bundles, CSS, and HTML) directly to the repository root. GitHub Pages serves these files as-is from themain branch.
A .nojekyll file is present in the root to disable GitHub Pages’ default Jekyll processing. Without it, Jekyll would ignore files and directories that begin with an underscore (_) and could interfere with Vite’s asset output.
All navigation routes are handled client-side by React Router’s HashRouter, so every URL uses the /#/path format — for example, /#/about or /#/projects. This means GitHub Pages only ever needs to serve a single index.html file; the hash fragment is interpreted entirely in the browser.
The production build is pre-compiled and committed to the repository. You do not need to run a build step (
npm run build) to view or deploy the site — simply serve the repository root with any static file server and the app will work immediately.