Zulip Desktop is an Electron-based desktop client for the Zulip team chat platform. It wraps the Zulip web application in a native window, providing multi-organization support via tabbed webviews, desktop notifications, tray/dock integration, spellcheck, and automatic updates. The architecture follows a standard Electron pattern with a main process (app/main/index.ts) managing windows, IPC, and system integrations, and a renderer process (app/renderer/js/main.ts) handling the UI, tab management, and settings pages. Communication between processes is facilitated by a strongly typed IPC system (typed-ipc.ts) that defines all channels and ensures type safety. The application persists user preferences and server configurations via JSON files (settings.json, domain.json) with Zod schema validation, and supports enterprise deployment through a global configuration file. External dependencies include Electron, electron-builder for packaging, electron-updater for auto-updates, Sentry for error reporting, and i18next for internationalization. The codebase is well-structured with clear separation of concerns, reusable component patterns, and comprehensive build pipelines for Windows, macOS, and Linux.