UStackUStack
Cosmic-light icon

Cosmic-light

Cosmic-light is a Windows Dynamic Island control center with media controls, live weather, smart calendar reminders, and an AI chat UI.

Cosmic-light

What is Cosmic-light?

Cosmic-light is a Windows “Dynamic Island” control center that puts at-a-glance status, media controls, weather visuals, calendar events, and an AI chat interface into a single on-screen UI. The interface expands from an “island” element positioned on your desktop, and it’s designed to surface relevant information when you need it.

The project is built as a local-first application: it uses local storage for conversation context and encrypts API keys added for AI features. It also includes system-bridge Python scripts to access data such as media and weather.

Key Features

  • Dynamic Island UI (Bottom or Middle): Places the island on your screen and expands intelligently when interacted with.
  • At-a-glance home view: Shows time, date, and the currently active window status.
  • Media control and Spotify/system audio integration: Provides play/pause/next/previous and volume control, along with a real-time audio visualizer and track metadata (including album art and progress).
  • Smart media icons: Detects the input source (e.g., Spotify, YouTube, Chrome) and the output device (e.g., headphones, speakers).
  • Live weather visualization: Renders real-time particle effects (rain, snow, clouds, stars) and displays stats like temperature, wind, humidity, and precipitation chance, with alert-style severe weather warnings.
  • Smart calendar with Google Calendar sync: Uses an iCal secret address to sync events, auto-expands the island 5 minutes before an event starts, and includes an interactive month view.
  • AI chat (local first): Includes a built-in chat interface with “Gemini Mode” (Google Gemini) and “Perplexity Mode” (web search with citations/sources). Conversation history is stored locally.
  • Encrypted API keys: Encrypts API keys added in settings to improve security.

How to Use Cosmic-light

  1. Install prerequisites: Use Node.js v20+ and Python v3.10+.
  2. Set up the project:
    • Clone the repository.
    • Install frontend dependencies with npm install.
    • Install backend dependencies with pip install -r requirements.txt.
  3. Run locally: Start the app with npm run dev.
  4. Open and configure:
    • Click the Dynamic Island to expand it.
    • Use the Settings (gear icon) to configure AI API keys (Gemini and/or Perplexity) and Google Calendar sync.
  5. (Optional) Build an installer: For a standalone Windows .exe, run npm run build; the installer is placed in the release/ directory.

Use Cases

  • Media-first desktop control: Control playback and volume from the island while viewing track metadata and a real-time audio visualizer, without switching to a separate media window.
  • At-a-glance context while multitasking: Quickly check time/date and which application is currently active from the island’s home view.
  • Weather awareness with visual cues: Monitor changing weather conditions via animated particles and read key stats like wind and humidity, including severe weather warnings.
  • Calendar reminders for upcoming meetings: Sync a private Google Calendar via the app’s iCal secret address and rely on the island expanding automatically 5 minutes before events begin.
  • Answer/search assistance in the desktop UI: Use Gemini or Perplexity chat modes from the island; store API keys in settings and keep conversation history locally.

FAQ

  • What do I need to run Cosmic-light? Node.js v20 or higher is required for the app, and Python v3.10 or higher is required for system bridge scripts.

  • How do I enable the AI chat features? Open the app settings and add your Gemini API Key and/or Perplexity API Key. The project notes that at least one of them must be enabled.

  • How does Google Calendar sync work? In Google Calendar settings, you generate or copy an “iCal secret address” (in iCal format) and paste that URL into Settings > Google Calendar in the app.

  • Where is data stored? The project describes a local-first approach: conversation history is stored locally, and API keys added in settings are encrypted.

  • Can I position the island differently? Yes. Settings include positioning options to place the island at the Bottom or Center of your screen, and it supports selecting which monitor the island appears on.

Alternatives

  • OS-level widget frameworks: Instead of a Dynamic Island-style expanding UI, use desktop widget/launcher systems that aggregate widgets (weather, calendar, media) on-screen; workflows differ because expansion behavior and the “island” presentation may not be built-in.
  • Media controller apps: Dedicated media control tools can provide playback and volume controls plus visualizations, but may not include the same combined weather/calendar/AI layout.
  • Calendar + weather desktop integrations: Standalone calendar and weather integrations focus on those specific data sources; they typically won’t bundle the AI chat interface and Dynamic Island expansion pattern into one control center.
  • Local chatbot applications: General chat clients or local AI frontends can replace the island’s AI panel, but you would lose the island’s integrated calendar/media/weather UI context.