Cosmic Developer is a React single-page application that separates its concerns into three distinct layers: an ambient visual effects layer drawn on canvas and CSS, a fixed layout shell that handles navigation and chrome, and a routed content layer where individual portfolio pages live. These layers stack cleanly using z-index, so every cosmos effect renders behind the actual content without interfering with user interaction.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/cosmic-developer/llms.txt
Use this file to discover all available pages before exploring further.
Component Tree
The root componentCosmiApp (defined in assets/main.js) composes the full application. Every render begins here, assembling the cosmos layer, the navigation shell, and the routed main content into one coherent tree:
The Cosmos Layer
The three ambient components —StarfieldBackground, AuroraBackground, and CustomCursor — are intentionally positioned outside the main content flow using fixed inset-0 and explicit z-index values. This means they always fill the full viewport and are never clipped or scrolled by page content.
StarfieldBackgroundrenders onto a<canvas>element withclassName="fixed inset-0 w-full h-full -z-20 pointer-events-none". It generates a particle count proportional towindow.innerWidth * window.innerHeight / 2000, reseeds on window resize, and cancels itsrequestAnimationFrameloop on unmount.AuroraBackgroundrenders fourmotion.divblobs with Tailwind color classes (bg-aurora-teal/30,bg-aurora-magenta/20, etc.),blur-[120px]–blur-[150px], and independentanimate/transitionprops that run on infinite loops with staggered delays. Its parent div usesclassName="fixed inset-0 -z-10 … mix-blend-screen opacity-60".CustomCursorsits atz-index: 9997–9999, above everything else in the tree. It uses three layeredmotion.divelements driven bymousemoveandmouseoverlisteners, and expands when the pointer hovers an<a>,<button>, or any element carrying the.interactiveclass.
pointer-events-none (except CustomCursor’s three dots, which also carry pointer-events-none), they never block clicks or keyboard focus on content beneath them.
App Shell
CosmiApp is the single component that wires everything together. It is rendered once via ReactDOM.render into the #root div inside index.html:
<HashRouter> from React Router v6 enables hash-based client-side routing, which works on any static host without server configuration. The root div uses bg-cosmic-black (#04050d) as its base background so the canvas layer beneath always has a dark foundation to render against.
Page Architecture
Each of the nine route components follows the same structural pattern. The component returns a<PageTransition> wrapper that provides Framer Motion initial, animate, and exit states — a scale + blur fade that takes 0.6 seconds with a custom cubic-bezier curve. Inside that wrapper, a flex column fills the minimum screen height and adapts its layout per page:
PageTransition always applies className="min-h-screen w-full pt-24 pb-20 px-6 md:px-12 lg:px-24 flex flex-col", so every page starts below the fixed navigation bar (pt-24) and has consistent responsive horizontal padding.
The Apply it to any container that should appear to float above the starfield. The
glass-panel CSS class is used extensively across page components for frosted-glass cards. Its definition in assets/main.css is:bg-cosmic-navy/40 gives semi-transparency while backdrop-blur-md creates the blur effect against the layers beneath.Routing
How HashRouter, AppRoutes, and AnimatePresence work together to handle all nine portfolio routes.
Components
The full cosmos component catalogue — naming conventions, z-index model, and prop patterns.