Project Plan
I want to build an app to configure a SK6812 RGBW-LED-Strip via websocket connection. Similar to duoCol Strip App in Google Playstore.
Project Brief
Project Brief: LEDLampControl
An intuitive Android application designed to control SK6812 RGBW-LED
strips in real-time. The app establishes a low-latency WebSocket connection to provide seamless adjustment of colors, brightness, and
dynamic lighting effects, mirroring the functionality of professional LED controllers like duoCol Strip.
Features
- Precision
Color Control: Interactive RGBW color wheel for selecting millions of colors, including dedicated control for the White (W) channel
.
- WebSocket Connectivity: Low-latency, bi-directional communication with the LED controller for instantaneous lighting
updates.
- Dynamic Style Library: A suite of preset lighting modes and animations (e.g.,
pulse, strobe, rainbow) with adjustable speed and intensity.
- Device Discovery & Management: Easy scanning and connection management
for local LED controllers on the network.
- Adaptive Dashboard: A Material 3 interface that dynamically adjusts its
layout for optimal use on phones, tablets, and foldables.
High-Level Technical Stack
Language**: Kotlin
- UI Framework: Jetpack Compose (Material 3)
- Navigation: Jet
pack Navigation 3 (State-driven)
- Adaptive Strategy: Compose Material Adaptive Library
* **
Networking**: OkHttp (WebSocket support)
- Asynchrony: Kotlin Coroutines & Flow for reactive state management
UI Design Image
![UI Design]()
Implementation Steps
Task_1_Networking_Domain: Implement the WebSocket communication layer and core data models for LED control (RGBW, Brightness, Modes). Set up the Repository and ViewModel to handle real-time state updates.
- Status: COMPLETED
- Updates: Implemented LedState, LedColor, LedModeType, and LedCommand data models. Created LedWebSocketManager using OkHttp for real-time communication. Implemented LedRepository and LedViewModel for state management. Verified with unit tests and a successful build.
- Acceptance Criteria:
- WebSocket connection established using OkHttp
- Data models for RGBW and lighting modes defined
- State flow for real-time updates implemented
- Project builds successfully
Task_2_Dashboard_UI: Develop the main adaptive Dashboard UI using Jetpack Compose and Material 3. Include the interactive RGBW color wheel, dedicated White (W) channel slider, and brightness controls.
- Status: IN_PROGRESS
- Acceptance Criteria:
- UI matches the design in D:/Work/Android/LEDLampControl/input_images/image_0.jpeg
- RGBW color selection and brightness sliders are functional
- Layout is adaptive for phones and tablets
- Material 3 vibrant color scheme applied
- StartTime: 2026-07-16 18:48:33 CEST
Task_3_Device_Management_Styles: Implement device discovery/connection management and the dynamic style library (presets like pulse, rainbow). Integrate Room or DataStore for persisting device settings.
- Status: PENDING
- Acceptance Criteria:
- Device discovery or manual IP entry works
- Preset lighting modes are selectable and sent via WebSocket
- Recent devices are saved and restorable
- App handles connection/disconnection states gracefully
Task_4_Final_Polish_Verify: Finalize the application with an adaptive app icon, edge-to-edge display, and full stability verification.
- Status: PENDING
- Acceptance Criteria:
- Adaptive app icon implemented
- Full Edge-to-Edge display functional
- All existing tests pass
- App does not crash during typical usage
- Critic agent verifies alignment with project brief and UI design