Architecture
System Overview
Kalam is a profile-based desktop environment manager for Windows. It lets you bundle configurations for Rainmeter, YASB, GlazeWM, Zebar, Wallpaper, and Windhawk into profiles and apply any profile with one click.
┌───────────────────────────────────────────────────────────┐
│ Tauri v2 Shell │
│ (Rust backend + WebView2) │
├───────────────────────┬───────────────────────────────────┤
│ React 19 Frontend │ Python 3 Sidecar │
│ (Vite + Router) │ (kalam-core.exe) │
│ │ │
│ ┌───────────────┐ │ ┌──────────────────────────┐ │
│ │ Dashboard │ │ │ Tool Apply Functions │ │
│ │ CreateProfile │────│──>│ rainmeter() │ │
│ │ Settings │ │ │ yasb_code_inject() │ │
│ └───────────────┘ │ │ glaze_wm_apply() │ │
│ │ │ zebar_apply() │ │
│ Sidecar Service │ │ apply_windhawk_profile()│ │
│ (shell plugin) │ └──────────────────────────┘ │
├───────────────────────┴───────────────────────────────────┤
│ Tool Configs │
│ Rainmeter · YASB · GlazeWM · Zebar · Windhawk · Wall. │
└───────────────────────────────────────────────────────────┘
Tech Stack
- Tauri v2 — Desktop shell, window management, native API access (filesystem, dialogs, process control, updater)
- React 19 — Frontend UI (profile management, settings, onboarding)
- Python 3 — Sidecar compiled via PyInstaller for all system-level operations (tool process management, config file writing, Windhawk registry manipulation)
- @tauri-apps/plugin-shell — Communication between frontend and sidecar via
Command.sidecar()
Project Structure
| Purpose | Path |
|---|---|
| React entry | app/src/main.jsx |
| App shell | app/src/layouts/AppLayout.jsx |
| Dashboard | app/src/pages/Dashboard/Dashboard.jsx |
| CreateProfile | app/src/pages/CreateProfile/CreateProfile.jsx |
| Settings | app/src/pages/Settings/Settings.jsx |
| Sidecar service | app/src/services/sidecar.js |
| Storage service | app/src/services/storage.js |
| Python sidecar source | sidecar/kalam-core.py |
| Tauri config | app/src-tauri/tauri.conf.json |
| Rust lib | app/src-tauri/src/lib.rs |
| Vite config | app/vite.config.js |
| PyInstaller spec | sidecar/kalam-core.spec |
Data Flow
- User interacts with the React frontend (Dashboard, CreateProfile, Settings)
- Frontend calls the sidecar service (
sidecar.js) which wraps@tauri-apps/plugin-shell - Tauri invokes the compiled Python sidecar (
kalam-core.exe) as a CLI subprocess - Sidecar performs system-level operations — reading/writing config files, managing processes, editing registry
- Results are passed back through stdout and displayed in the UI