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

PurposePath
React entryapp/src/main.jsx
App shellapp/src/layouts/AppLayout.jsx
Dashboardapp/src/pages/Dashboard/Dashboard.jsx
CreateProfileapp/src/pages/CreateProfile/CreateProfile.jsx
Settingsapp/src/pages/Settings/Settings.jsx
Sidecar serviceapp/src/services/sidecar.js
Storage serviceapp/src/services/storage.js
Python sidecar sourcesidecar/kalam-core.py
Tauri configapp/src-tauri/tauri.conf.json
Rust libapp/src-tauri/src/lib.rs
Vite configapp/vite.config.js
PyInstaller specsidecar/kalam-core.spec

Data Flow

  1. User interacts with the React frontend (Dashboard, CreateProfile, Settings)
  2. Frontend calls the sidecar service (sidecar.js) which wraps @tauri-apps/plugin-shell
  3. Tauri invokes the compiled Python sidecar (kalam-core.exe) as a CLI subprocess
  4. Sidecar performs system-level operations — reading/writing config files, managing processes, editing registry
  5. Results are passed back through stdout and displayed in the UI