All work

Productivity tool / Desktop

Vynta

A Windows desktop tool I built to learn Tauri and Rust. It ended up being way bigger than expected - and even made it to the Microsoft Store.

Context
Personal project
Year
2026
Result
MS Storepublished desktop app

Vynta is a desktop application for Windows that allows you to annotate, highlight, and magnify any part of the screen in real time, without interrupting applications running underneath. It's the Windows equivalent of what Presentify offers on macOS: drawing, spotlight, dynamic zoom, and whiteboard, all from customizable global shortcuts.

The project began as an experiment to learn Tauri and Rust, but it grew into a real tool. The stack is Vue 3 + TypeScript on the frontend, and Rust on the backend, with direct access to Windows APIs (Win32, Magnification API, DXGI, Direct3D 11) to manage overlay windows, screenshots, and the zoom engine.

The decision to use Tauri? To learn, to experiment, nothing more than that, because realistically, using WebView with its RAM consumption is a terrible decision-something you want to minimize in an application that will be running in the background and that technically doesn't do anything resource-intensive. The frontend with Vue 3 + Pinia allowed me to clearly separate the state logic from the components, and internationalization (vue-i18n) was something I added early on to support English and Spanish from the start.

The biggest technical challenge was the zoom engine: I implemented two backends (Windows Magnification API and DXGI + Direct3D 11) and exposed a runtime option for the user to choose based on their hardware and compatibility. DXGI mode captures actual screen frames via the GPU, while Magnifier mode uses the system's native API. Each has its trade-offs in terms of compatibility and performance.

Other interesting challenges: managing multiple transparent overlay windows that coexist without stealing the user's focus, global shortcuts that work even when the app is not in the foreground, configuration persistence using the Tauri store plugin, and active monitor detection for multi-monitor support.

I configured CI/CD with GitHub Actions: three separate pipelines for code quality (oxlint, type-check), automatic versioning (Release Please with Conventional Commits), and build + publish the installer (.msi and .exe) for Windows.