Dev Nexus is a personal developer portfolio single-page application wrapped in a dark, arcane aesthetic — equal parts witch-tech grimoire and engineering showcase. Every interaction is animated, every panel glows, and every route carries its own occult name. This documentation walks you through what Dev Nexus is, what powers it under the hood, and what you’ll find in each of its seven pages.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/dev-nexus/llms.txt
Use this file to discover all available pages before exploring further.
What is Dev Nexus?
Dev Nexus is a fully client-rendered React SPA designed to serve as a developer’s portfolio and creative outlet. It ships as a pre-built static export — meaning there’s no server required — but beneath the static shell is a rich, animated UI driven by Framer Motion transitions, a live particle-field canvas, and a cohesive witch-tech visual identity expressed entirely through Tailwind CSS utility classes and custom design tokens. The name “nexus” signals the site’s intent: a central hub that connects every dimension of a developer’s work — projects, writing, case studies, skills, and contact — in a single, immersive experience.Tech Stack
| Layer | Technology |
|---|---|
| UI library | React 18 (react@18.3.1) |
| Build tool | Vite |
| Routing | React Router v6 — HashRouter |
| Animation | Framer Motion (re-exported via assets/proxy.js) |
| Styling | Tailwind CSS with custom design tokens |
| Icons | Lucide React (lucide-react@0.522.0) |
| Fonts | Syne (display), JetBrains Mono (code), Inter (body) |
useScreenInit.js, a module-preloaded shim that exposes them as named exports consumed by every component. Framer Motion is centralised in assets/proxy.js so the entire animation surface is imported from one place.
The Seven Pages
Dev Nexus divides the portfolio into seven thematically named sections, each with a corresponding static HTML shell in thepages/ directory and a hash-based route in the React Router config:
| Route | Nav label | Theme |
|---|---|---|
/#/ | PORTAL | Home — the sigil hub and entry point |
/#/about | ORIGIN | About — an origin timeline and developer backstory |
/#/projects | SPELLS | Projects — a spellbook of built work |
/#/skills | ARSENAL | Skills — a radial sigil diagram of competencies |
/#/writing | SCROLLS | Writing — articles and long-form posts |
/#/case-studies | RITUALS | Case Studies — deep-dives on complex work |
/#/contact | SUMMON | Contact — a summoning circle / contact form |
components/NavBar.js, highlights the active route by wrapping its label in arcane brackets — [ PORTAL ] — and applies a neon-lime glow to signal the current location.
Visual Identity
Dev Nexus defines its colour palette as CSS custom properties on:root, consumed through Tailwind’s theme:
| Token | Hex | Usage |
|---|---|---|
electric-violet | #9d4dff | Primary accent, borders, glow effects |
neon-lime | #9eff5b | Active states, hover highlights, text glow |
ghost-mint | #6dffc7 | Secondary accent, skill node highlights |
hot-magenta | #ff4ad8 | Tertiary accent, hover borders |
void | #050208 | Page background — near-black |
witch-purple | #1b0833 | Surface background, glass panel base |
moonlight | #f0eaff | Primary text colour |
SigilDiagram, VialCard accent tiers, and glow box-shadows all draw from the same five-colour neon palette.
Glassmorphism — the .glass-panel pattern
Every major surface in the UI — the navigation bar, content cards, sidebars — uses the .glass-panel utility class:
Particle Field Canvas
components/ParticleField.js renders a <canvas> element fixed behind every page. On mount it:
- Sizes the canvas to the full viewport and spawns particles proportional to viewport area (1 particle per 15 000 px²).
- Assigns each particle a random position, velocity, radius, opacity, and one of the four neon palette colours — violet, lime, mint, or magenta.
- Runs a
requestAnimationFrameloop that moves particles and wraps them at viewport edges, adding ashadowBlurglow in the particle’s own colour. - Re-initialises on
window.resizeto keep density consistent.
z-index: 0 with opacity: 0.6 and pointer-events: none, so it never interferes with page interaction.
Where to Go Next
Getting Started
Clone the repo, install dependencies, and boot the dev server in under five minutes.
Architecture Overview
Understand how the static export, HashRouter, and component tree fit together.