- Frontend: React + Vite + motion/react + vanilla CSS
- Backend: FastAPI + psutil + WebSockets (port 8000)
- AI: Ollama local LLM (port 11434)
- Work dir:
frontend/ - Dev:
npm run dev(broken:#in path breaks Vite 8) - Preview:
npm run build && cd dist && npx serve(port 3000) - Detached serve:
Start-Job { Set-Location "frontend/dist"; npx serve }
All already in frontend/package.json:
@phosphor-icons/react— icon librarymotion— motion/react animation libraryborder-beam— animated border effect (cult-ui)gsap— animation engine for ClickSparkreactbits-installer— 120+ animated components (dev only)
| Import | Source | Purpose |
|---|---|---|
Aurora |
src/reactbits/Aurora.tsx |
Animated aurora background |
ClickSpark |
src/reactbits/ClickSpark.tsx |
Click particle burst |
CountUp |
src/reactbits/CountUp.tsx |
Animated number counter |
SpotlightCard |
src/reactbits/SpotlightCard.tsx |
Mouse-following card glow |
BorderBeam |
border-beam package |
Animated border on buttons |
BeamButton |
src/components/BeamButton.jsx |
Pre-configured BorderBeam button |
src/index.css— CSS custom properties (glass tokens, colors, spacing)src/App.css— all component styles (grid beam, cards, buttons, animations)- No Tailwind — vanilla CSS only
- Build output:
dist/assets/index-*.css(~26KB) andindex-*.js(~561KB) - Build cleanly passes — no lint/typecheck step configured
npx reactbits-installercopies all 120 components tosrc/reactbits/