This post is part one of a three-part series on how to build a custom Daily video call overlay app in Electron using daily-js. The main process and preload scripts are set up, allowing for mouse event passthrough and communication between the renderer processes and the main process. The application window structure is created with the main process setting up the tray window and the call window, both of which use preload scripts to interact with the main process. The system tray setup includes a context menu that can be used to join or leave a call. The preload scripts handle mouse event handling, joining a call, leaving a call, and updating the system tray menu based on user actions in the call window renderer process.