Launching EyeZen v1.0.0: A Local-First Desktop App Built with Rust, Tauri and React
EyeZen v1.0.0 is now available. It's an open-source desktop workspace-personalization application built with Rust, Tauri 2, React and TypeScript.
The guiding idea is simple: the preferences you want while coding may not be the ones you want while reading, editing a video, or working late.
I wanted to build a desktop app that treats those different contexts as configurable workspaces while keeping core configuration local.
What ships in v1.0.0?
The first release includes ten interface themes:
- Light
- Dark
- System
- Warm Dark
- Warm Light
- Sepia Reading
- Midnight
- AMOLED-Inspired
- High Contrast
- Grayscale
Users can change accent colors, text scale and motion preferences.
EyeZen includes nine starting workspace profiles covering activities such as coding, reading, office work, productivity, gaming, editing and accessibility.
Profiles can be created, edited, applied, imported and exported as JSON.
A scheduling system supports weekday and overnight time windows, priorities for overlapping rules, and a visible manual override.
The optional Break Assistant provides configurable reminder intervals and quiet hours. Notifications depend on OS permissions and environment support.
Settings are stored locally with validation, export/import, and recovery behavior for corrupted files.
The first-run setup introduces the key choices, while an explicit capability report explains which platform integrations are implemented.
Why use Rust, Tauri 2 and React?
Rust provides a foundation for the desktop command layer, validation, persistence and scheduling utilities.
Tauri 2 bridges the application and its native platform features.
React and TypeScript provide the customizable interface, feature views and tests.
The codebase separates the UI, scheduling logic, imports and platform-support boundaries.
Automated frontend and Rust checks run through GitHub Actions across desktop build targets.
Passing CI is useful, but it isn't a replacement for installing and testing the app on real hardware.
Local-first by design
EyeZen's core functionality doesn't require an account, location permission, telemetry service or cloud backend.
Profiles and settings remain on the device, with manual backup/export options.
That is useful both for privacy and for keeping basic workspace personalization independent of an internet connection.
Honest limits in v1.0.0
An important distinction: EyeZen v1.0.0 does not adjust physical monitor brightness or operating-system color temperature.
Warmth and intensity controls save preferences but do not control Night Light, Night Shift, HDR or an external monitor. There is no color overlay or monitor enumeration in this version.
Scheduling and reminders currently run while the application webview is active, so their operation after closing or suspending the app is not guaranteed.
Release installers are CI-built and unsigned, and OS-specific manual acceptance tests are still needed.
EyeZen is a customization tool, not a medical device, and I don't want to make unsupported claims about eye-health outcomes.
Where the project goes next
The roadmap includes more robust background scheduling, broader tray and shortcut controls, improved theme/profile creation, and eventually carefully validated platform-specific display integrations.
Those are future goals, not features in today's release.
Try EyeZen and contribute
I would love feedback on the onboarding experience, theme choices, scheduling logic, keyboard navigation, package installation, and how EyeZen behaves on different desktops.
Your screen. Your comfort. Your environment.
Top comments (0)