A desktop app that lets you create and display custom HTML/CSS/JS widgets right on your desktop.
Download · Installation · Features · Contributing · License
brew install wigify/tap/wigifyDownload the latest release from the releases page.
- Custom HTML Widgets - Write widgets using plain HTML, CSS, and JavaScript. No framework required.
- Built-in Code Editor - Full-featured Monaco editor with syntax highlighting, autocompletion, and live preview.
- Live Preview - See your changes in real-time as you edit widget code.
- Widget Templates - Get started quickly with built-in templates: Stat, Weather, Chart, Visualizer, Countdown, Digital Clock, and more.
- Auto-Refresh - Set a refresh interval per widget (1s, 1m, 5m, 10m, 15m, 30m, 1h) to keep data up-to-date.
- Cursor Dodge - Widgets automatically fade out and become click-through when your cursor gets close.
- Smart Grid Positioning - Widgets are automatically arranged in a clean grid layout from the top-right corner.
- Drag & Resize - Move and resize widgets freely on your desktop. Positions are persisted across sessions.
- System Tray - Quick access to toggle auto-hide, arrange widgets, and manage the app from the menu bar.
- Auto-Update - Automatically checks for and installs updates from GitHub releases.
- Dark & Light Theme - Follows your system theme with a native glassy appearance on macOS.
- Electron - Cross-platform desktop apps with JavaScript
- React - UI framework
- TypeScript - Type-safe JavaScript
- Vite - Next-generation build tool
- Tailwind CSS - Utility-first CSS framework
- Monaco Editor - The code editor that powers VS Code
- Radix UI - Accessible UI primitives
- cmdk - Command menu component
- Lucide - Icon library
- electron-updater - Auto-update for Electron apps
- electron-builder - Packaging and distribution
- Vitest - Unit testing framework
Contributions are welcome! Here's how you can help:
-
Fork the repository
-
Clone your fork:
git clone https://github.com/<your-username>/wigify.git cd wigify
-
Install dependencies:
bun install
-
Start the dev server:
bun dev
- Lint -
bun lint - Test -
bun test - Format -
bun format - Type check -
bun run typecheck - Pre-commit check -
bun pre-commit
-
Create a new branch for your feature or fix:
git checkout -b my-feature
-
Make your changes
-
Run
bun pre-committo ensure lint, tests, and formatting all pass -
Commit your changes with a clear message
-
Push to your fork and open a Pull Request
- Follow the existing code style (Prettier handles formatting)
- Use Tailwind built-in classes only (no arbitrary values)
- Use
lucide-reactfor icons - Keep components small and reusable
- No code comments
- Write tests for new functionality when applicable
This project is licensed under the MIT License. See the LICENSE file for details.
