An immersive engineering experience for Ujwal Shyam Kantimohanthy — not a résumé site, a living system to explore. Publicly branded DEVAN; the underlying architecture and data model are still referred to as UJ.OS internally (repo, code comments, this README) but that name never appears in visitor-facing copy, metadata, or SEO.
@fontsource-variable/intersrc/
app/ root layout (mounts CursorField), global styles, single-page route
components/
CursorField.tsx global cursor-reactive ambient background (canvas, capped particles)
ui/ Button, Card, Tag, Section, Metric, Accordion, Modal, SearchBar
motion/
DomainMotif.tsx per-discipline motion language (networking/AI/space/finance/
cybersecurity/distributed-systems) used on project cards
sections/ Landing, Identity, KnowledgeGraph, Projects, Research,
Experiments, Ventures, Writing, Timeline, Network, Vision
Navbar.tsx floating, blurred, scrollspy navigation
Footer.tsx
ProjectCard.tsx project card with domain-motif header + hover-reveal architecture
ExperimentCard.tsx
icons.tsx GitHub / LinkedIn marks (not present in this lucide-react version)
data/
content.ts all copy and structured content — edit this to update the site
types.ts shared TypeScript types
nav.ts section list shared by the navbar and command palette
lib/
usePrefersReducedMotion.ts shared hook — CursorField, Landing, and KnowledgeGraph
all disable cursor-driven motion when this is true
npm install
npm run dev
Open http://localhost:3000.
/) with a scrollspy nav — matches the “floating nav, smooth scroll, highlight active section” brief more directly than splitting into 11 separate pages would.KnowledgeGraph.tsx is a real interactive SVG — nodes float gently, hovering illuminates connections, clicking selects (and pulses) a node, and the whole graph tilts a few degrees toward the cursor. Not a static placeholder.CursorField.tsx is the one global background: a capped-particle canvas field that drifts, links nearby particles into faint constellations, and gently repels from the cursor, plus a CSS radial-gradient glow that tracks pointer position. Single requestAnimationFrame loop, pauses on tab blur, fully skipped under prefers-reduced-motion.DomainMotif.tsx gives each discipline its own motion language (animated packet flow for networking, pulsing vector-flow dots for AI, orbiting satellites for space, a moving market curve for finance, a scanning sweep over an encrypted grid for cybersecurity, pulsing clusters for distributed systems) — used as project card headers rather than icons.⌘K / Ctrl+K to jump to any section.data/content.ts is grounded in real projects (CineForge AI Pro — shipped, IBM submission completed by the July 31 deadline; Sentinel AI; CosmoHub; the Kaggle × ChanZuckerberg Biohub competition; NetLaunch; the WMN + TV White Space thesis) — update it as the actual work evolves.# — wire them up to the real GitHub repos when ready.components/ui/ follow the same visual language (rounded-2xl surfaces, cva-based variants) by hand instead.data/content.ts. “UJ.OS” is kept only as an internal/architectural reference in code comments and this README.