This repo contains a minimal Matrix Cam app with:
- Web app (React + Vite)
- Desktop wrapper (Electron)
src/components/matrix-cam/MatrixCam.tsx- main Matrix Cam componentsrc/components/matrix-cam/WebcamSelector.jsx- webcam device pickersrc/components/matrix-cam/MatrixCam.css- Matrix Cam UI stylessrc/fonts/DATDOT-REGULAR.TTF- bundled DatDot fontsrc/App.tsx- app shellelectron/main.cjs- Electron main processelectron/preload.cjs- Electron preload bridge (minimal)
DatDotis included and works out of the box.Matrix Code NFIis not included due to licensing.
If you want the original Matrix Code look, download/install it yourself:
- Node.js 20+
- npm 10+
npm installnpm run devOpen the Vite URL (http://localhost:4173).
npm run electron:devnpm run electronThis builds the Vite app, then opens Electron against dist/.
npm run build
npm run preview- Camera permission is required in browser and in Electron.
- The desktop wrapper auto-approves camera/mic media permission requests for this app window.
- External links open in your default browser.
In Electron mode, custom presets are saved to a disk folder named custom_presets under Electron user data:
- macOS:
~/Library/Application Support/matrix-cam-standalone/custom_presets
Each saved preset captures:
- current Matrix Cam settings
- Electron window size at save time (
settings.windowSizeandmeta.windowBounds) - timestamp (
meta.savedAt)
In plain browser mode (npm run dev), presets still use localStorage.