Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/apursley2012/dev.void/llms.txt

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

dev.void is a space-themed personal developer portfolio built with React (Vite), Framer Motion, and Tailwind CSS. This page introduces the project’s purpose, the libraries it depends on, the visual design system, the full component roster, and the route structure — giving you the mental model you need before diving into customization.

Quickstart

Clone the repo, open it in a browser or static server, and personalize the hero in minutes.

Project Structure

Understand how Vite output, components, pages, and assets are laid out on disk.

AuroraHero Component

Customize the animated hero section, including your name, tagline, and CTA buttons.

Profile Data

A complete reference for every data value you can swap to make the portfolio your own.

Tech Stack

dev.void uses a modern, client-only React stack compiled with Vite. All runtime JavaScript ships as ES modules — there is no server-side rendering.
ConcernLibrary / Tool
FrameworkReact 18 (via react / react-dom)
Build toolVite
RoutingReact Router v6 (BrowserRouter + Routes)
AnimationFramer Motion (motion/reactAnimatePresence, motion.div)
StylingTailwind CSS (utility classes, no CSS-in-JS)
IconsLucide React (createLucideIcon)

Fonts

Three Google Fonts families are loaded via @import in assets/main.css:
  • Space Groteskfont-sans, used for headings and navigation
  • Cormorant Garamondfont-serif, used for italic taglines and pull-quotes
  • JetBrains Monofont-mono, used for monospaced labels and code-style text

Color Palette

The aurora color system is defined as Tailwind CSS custom tokens and referenced throughout every component:
TokenHexUsage
aurora-teal#0d9488Primary accent, borders, glows
aurora-mint#34d399Secondary accent, particle effects
aurora-pink#ec4899Tertiary accent, gradient highlights
aurora-light#ccfbf1High-contrast text on dark backgrounds
space-950#010308Page background — near-black deep-space base

Key Features

Animated Page Transitions

Every route is wrapped in a motion.div with AnimatePresence. Pages fade and slide in with a 600 ms ease curve, and blur out on exit.

Procedural Starfield

StarfieldBackground renders three layered star planes (#stars, #stars2, #stars3) as absolutely positioned layers behind all page content.

Glass-Panel UI

Section cards use the glass-panel utility class — a frosted-glass effect combining a translucent bg-space-900/40 fill, border-aurora-teal/20 border, and backdrop-blur-md.

Space-Themed Naming

Every route and component carries a thematic name: skills are “Telemetry”, work history is the “Mission Log”, projects are “Probes & Payloads”, and the contact form is a “Hailing Frequency”.

Comet Cursor

The default browser cursor is replaced with a custom CometCursor component that renders a glowing dot, a trailing ring, and click-burst particle sparks using Framer Motion spring values.

Responsive Navigation

AuroraNav provides a full desktop nav bar with an animated active-indicator underline, and a full-screen mobile overlay menu that opens on small viewports.

Sections & Routes

The portfolio is a single-page application with nine React Router v6 routes. Each route renders a page-level wrapper that passes its children into the shared AnimatePresence transition.
RoutePage TitlePrimary Component
/HomeAuroraHero
/aboutStellar CartographyPlanetaryProfile
/projectsProbes & PayloadsMissionPatchWall
/skillsTelemetryTelemetryRadar
/workMission LogMissionLogTimeline
/case-studiesAnomalies InvestigatedFlightRecorderCase
/blogField Notes from the VoidOrbitingSatellites
/contactOpen a Hailing FrequencyCommsConsole
/testimonialsVoices from the CrewAsteroidQuotes
The global shell (App component in assets/main.js) mounts StarfieldBackground, CometCursor, and AuroraNav once, above the route outlet, so they persist across all page transitions.

Component Reference

ComponentFileDescription
AuroraNavcomponents/AuroraNav.jsSticky header with animated nav indicator and mobile overlay
StarfieldBackgroundcomponents/StarfieldBackground.jsLayered CSS star planes rendered behind all content
CometCursorcomponents/CometCursor.jsCustom cursor with spring-physics trailing ring and click sparks
AuroraHerocomponents/AuroraHero.jsFull-viewport hero with name, tagline, animated aurora blobs, and CTAs
PlanetaryProfilecomponents/PlanetaryProfile.jsAbout section with bio, avatar, and orbital detail rings
MissionPatchWallcomponents/MissionPatchWall.jsProject grid using mission-patch–style card artwork
TelemetryRadarcomponents/TelemetryRadar.jsSkills display styled as a telemetry/radar readout
MissionLogTimelinecomponents/MissionLogTimeline.jsVertical timeline of work experience entries
FlightRecorderCasecomponents/FlightRecorderCase.jsCase-study deep-dives in a flight-recorder aesthetic
OrbitingSatellitescomponents/OrbitingSatellites.jsBlog post list styled as orbiting satellite cards
CommsConsolecomponents/CommsConsole.jsContact form styled as a communications console
AsteroidQuotescomponents/AsteroidQuotes.jsTestimonial carousel with asteroid-field visual motif

Custom cursor requires cursor: none.
CometCursor only works because body { cursor: none; } is set globally in assets/main.css. If you remove or override this rule, the native browser cursor will appear alongside the custom one. Do not remove it unless you are intentionally disabling CometCursor as well. On touch devices the component already returns null automatically, so mobile users are unaffected.

Build docs developers (and LLMs) love