A simple local web application to launch a timer that show on Nanoleaf panels by progressively turning them off (or on) to visualize the remaining time.
- Little web server (Flask?) to set timer duration and start/stop the timer
- Save timer history (start time, duration, end time) in a local database
- Add sound notifications when timer ends ?
- Also display the timer on the web interface
- Allow user to pause, resume and stop the timer from the web interface
- Display alerts with sonner instead of Alert component
- Wow effect : display panels layout on the web interface
Customization:
- Allow users to customize light colors and patterns for different timer states
- Choose the type of timer : countdown (turns off progressively) or filling (turns on progressively)
- Set presets : Pomodoro (25 min work, 5 min break), short breaks (5 min), long breaks (15 min), pasta timer (10 min)
- Option to choose whether the timer animates the panels in order or randomly
- Change light colors based on timer status (e.g., green when running, red when finished)
Dev:
- Dockerize the application for easier usage
- Create shell scripts to start/stop api+frontend easily
backend/: Flask API and shared Nanoleaf timer logic (still runnable aspython main.py)frontend/: React + Vite + Tailwind + shadcn UI for configuring timers
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
flask --app backend run --debugOr keep using the existing CLI behavior:
python main.pycd frontend
pnpm install
pnpm run dev