titanML

TitanML — AI Knowledge Nexus

An interactive knowledge graph and visual encyclopedia for AI/ML concepts. Built with Next.js 16, featuring a canvas-based force-directed graph, architecture visualizer, and structured learning paths.

Features

Tech Stack

Layer Technology
Framework Next.js 16 (App Router, Turbopack)
Language TypeScript
Styling Custom CSS with CSS variables, @property animations
State Zustand (atomic selectors for render optimization)
Graph Engine Custom Canvas 2D — force-directed physics, spatial grid partitioning, lerp-smoothed camera
Font Plus Jakarta Sans (Google Fonts)

Project Structure

src/
├── app/
│   ├── globals.css          # Base reset, loading screen, toast, panel/modal animations,
│   │                         # scrollbar, code blocks, tooltip, accessibility
│   ├── layout.tsx           # Root layout (meta, fonts, CSS imports)
│   └── page.tsx             # Main page — LoadingScreen, Toast, Home (data orchestrator),
│                             # AppContent (all UI split into prop-driven component)
├── lib/
│   └── graph-engine.ts      # Canvas knowledge graph engine (~1010 lines)
│       ├── Physics: spatial grid O(n) neighbor lookup, repulsion/attraction/gravity
│       ├── Rendering: radial gradient bg, cached dot grid, curved edges with arrows,
│       │             quantum packet animations, gradient-filled nodes with glow
│       ├── Interaction: mouse drag/pan, wheel zoom (lerp-smoothed), touch pinch-zoom
│       ├── Performance: dirty flag + idle frame skipping with full rAF stop/wake,
│       │              label truncation cache, sorted node draw order cache
│       └── Dark mode: full theme swap via setDarkMode()
├── store/
│   └── useTitanMLStore.ts   # Zustand store — all app state and actions
└── public/
    ├── css/
    │   ├── styles.css           # Main component styles + dark mode overrides
    │   ├── architectureStyles.css  # Architecture gallery & flow visualizer
    │   └── knowledgePath.css       # Knowledge path gallery & timeline
    ├── data/
    │   ├── graphData.json      # Categories & terms with relationships
    │   ├── architecture.json   # Architecture definitions with steps
    │   └── knowledgePath.json  # Learning paths with steps/subpaths
    └── assets/

Architecture Decisions

Render Optimization

Memory Management

Animation System

Bug Fixes (Godmode Audit)

Getting Started

# Install dependencies
npm install

# Development server
npm run dev

# Production build
npm run build
npm start

Open http://localhost:3000 in your browser.

Credits

Created by Abhishek ShahPortfolio Email

License

All rights reserved.