Browser-native image editor. Layer-based compositing with blend modes, filters, and adjustments — all client-side, no server.
- UI: React 19, Vite, Tailwind CSS, shadcn/ui
- Engine: Rust compiled to WebAssembly via wasm-pack
- State: Zustand (modular slices)
make install # install npm + cargo dependencies
make dev # build WASM, start Vite dev servervizpix/
├── ui/ # React frontend
│ └── src/
│ ├── components/ # UI components (canvas, layout, panels, dialogs)
│ ├── hooks/ # Canvas compositor, interactions, shortcuts
│ ├── store/ # Zustand store with slices
│ ├── lib/ # Utilities, constants, export logic
│ └── wasm/ # WASM bindings (generated)
├── engine/ # Rust WASM library (image processing, filters)
└── Makefile # Build orchestration
| Command | Description |
|---|---|
make install |
Install all dependencies |
make dev |
Build WASM + start dev server |
make build |
Production build |
make build-wasm |
Build WASM only (debug) |
make clean |
Remove all build artifacts |
- Layer management (add, reorder, duplicate, lock, visibility)
- Transform layers (move, resize, rotate)
- 12 blend modes
- WASM-powered filters and adjustments (brightness, contrast, saturation)
- Canvas size presets (social media, standard, square)
- Export to PNG / JPEG
- Undo / redo
- Responsive layout (desktop sidebar + mobile drawer)