Loading fonts from fonts.googleapis.com sends user IP addresses to Google on every page load — a GDPR violation. Self-host DM Sans and JetBrains Mono as woff2 files bundled with the UI. - Download DM Sans (400/500/600/700 + 400 italic) woff2 files - Download JetBrains Mono (400/500/600) woff2 files - Replace @import url(googleapis) with local @font-face declarations - Both fonts are OFL-licensed (free to self-host) - Total size: ~135KB for all 8 font files Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Cameleer3 UI
React SPA built with @cameleer/design-system, TanStack Query, and Zustand.
Development
npm install
npm run dev
By default the dev server proxies /api/* to http://localhost:8081. To proxy to a remote server instead:
VITE_API_TARGET=http://192.168.50.86:30090 npm run dev
No CORS issues — Vite's proxy makes API calls server-side.
Build
npm run build
API Types
Regenerate TypeScript types from a running backend:
npm run generate-api:live