Todo el trabajo

Herramienta de productividad / Desktop

Vynta

Una herramienta de escritorio para Windows que construí para aprender Tauri y Rust. Terminó siendo bastante más grande de lo esperado - y hasta llegó a Microsoft Store.

Contexto
Proyecto personal
Año
2026
Resultado
MS Storeapp de escritorio publicada

Vynta es una aplicación de escritorio para Windows que permite anotar, resaltar y magnificar cualquier parte de la pantalla en tiempo real, sin interrumpir las aplicaciones que están debajo. Es el equivalente en Windows de lo que Presentify ofrece en macOS: dibujar, spotlight, zoom dinámico y whiteboard, todo desde atajos globales personalizables.

El proyecto nació como un experimento para aprender Tauri y Rust, pero fue creciendo hasta convertirse en una herramienta real. El stack es Vue 3 + TypeScript en el frontend, y Rust en el backend, con acceso directo a las APIs de Windows (Win32, Magnification API, DXGI, Direct3D 11) para gestionar ventanas overlay, captura de pantalla y el motor de zoom.

¿La decisión de usar Tauri? Conocer, experimentar, nada mas que eso, porque siendo realistas es una pésima decisión utilizar WebView con su consumo de RAM, algo que quieres reducir en una aplicación que tendrás corriendo en segundo plano y que técnicamente no hace nada pesado. El frontend con Vue 3 + Pinia me permitió separar bien la lógica de estado de los componentes, y la internacionalización (vue-i18n) fue algo que agregué temprano para soportar inglés y español desde el inicio.

El mayor reto técnico fue el motor de zoom: implementé dos backends (Windows Magnification API y DXGI + Direct3D 11) y expuse una opción en runtime para que el usuario elija según su hardware y compatibilidad. El modo DXGI captura frames reales de la pantalla vía GPU, mientras que el modo Magnifier usa la API nativa del sistema. Cada uno tiene sus trade-offs en términos de compatibilidad y rendimiento.

Otros desafíos interesantes: gestión de múltiples ventanas overlay transparentes que coexisten sin robarse el foco del usuario, atajos globales que funcionan incluso cuando la app no está en primer plano, persistencia de configuración usando el plugin de store de Tauri, y detección de monitor activo para soporte multi-monitor.

El CI/CD lo configuré con GitHub Actions: tres pipelines separados para calidad de código (oxlint, type-check), versionado automático (Release Please con Conventional Commits) y build + publicación del instalador (.msi y .exe) para Windows.