Oculus is a desktop controller for LIFX lights, built with Tauri, Svelte, and Rust. It provides a sleek, modern interface for managing your smart lights and activating scenes.
- Features
- Prerequisites
- Getting Started
- Usage
- Tech Stack
- Building for Production
- Contributing
- License
- 🎨 Glassmorphic UI: A dark-mode interface with dynamic lighting effects and frosted glass elements.
- 🎛️ Interactive Dashboard:
- Global Control: Master switch to toggle all lights instantly.
- Live Status: "Mini Orbs" on each card show real-time color and brightness.
- Offline Detection: Visual indicators for offline lights with disabled controls.
- Instant Navigation: Smart caching for zero-latency page transitions.
- Scenes: Activate your favorite scenes with one click.
- 💡 Light Control:
- Dynamic Visualization: A central orb pulses with the light's actual color.
- Precision Tools: Fine-tune Hue, Saturation, Brightness, and Kelvin with custom sliders.
- 🔒 Secure Setup & Settings:
- Easy, secure token entry to connect your LIFX account.
- Dedicated settings page to manage your API token and view app info.
- 🖥️ Cross-Platform: Runs on macOS, Windows, and Linux (via Tauri).
Before you begin, ensure you have the following installed:
-
Clone the repository:
git clone https://github.com/GridlineDigital/oculus.git cd oculus -
Install dependencies:
bun install
-
Run the application:
bun tauri dev
- Launch the App: Run
bun tauri devor open the built application. - Setup API Token: On the first launch, you will be prompted to enter your LIFX API token. You can generate one in your LIFX Cloud Account.
- Control Lights: Use the dashboard to toggle lights or click on a card to access detailed controls.
- Activate Scenes: Click on any scene in the "Scenes" section to activate it.
- Frontend: Svelte 5, Tailwind CSS 4
- Backend: Rust, Tauri 2
- Runtime: Bun 1.3
To build the application for your platform:
bun tauri buildThe build artifacts will be located in src-tauri/target/release/bundle/.
Contributions are welcome! Please read our Contributing Guidelines for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.