InkFlow: lienzo infinito local-first, con motor en C++ y WebAssembly
InkFlow es una aplicación web de lienzo infinito para pensar y organizar tareas, que funciona sin inicio de sesión y guarda los datos en el propio navegador. El dibujo corre en un motor en C++ compilado a WebAssembly, la colaboración ocurre en tiempo real entre dispositivos y la escritura a mano se convierte en tarea con reconocimiento de texto en el navegador.
Cliente y contexto
Las herramientas de productividad suelen convertirse en listas interminables. InkFlow propone lo contrario: volcar las ideas en un lienzo libre y llevar una tarea a la vez a un modo de enfoque, con cronómetro.
El problema
“Quiero garabatear ideas como en papel, sin crear una cuenta, sin que mis datos vayan a un servidor, y convertir el garabato en una tarea.”
Restricciones
- Dibujo fluido incluso en tablet, sin bloquear la página.
- Los datos del usuario solo en su dispositivo.
- Colaboración entre dispositivos sin un servidor de datos propio.
Decisiones y concesiones
Motor de dibujo en C++ compilado a WebAssembly
Por qué: El cálculo de los trazos sale de JavaScript y se acerca al rendimiento nativo. El costo es un paso más en el build.
Local-first con IndexedDB (Dexie.js)
Por qué: Funciona sin conexión y sin inicio de sesión; el usuario puede exportarlo todo. No hay una base de datos central que mantener ni datos personales bajo custodia.
Sincronización P2P con Y.js y WebRTC
Por qué: Los dispositivos se comunican directamente entre sí; solo la señalización pasa por un worker liviano. Sin servidor de datos.
Reconocimiento de texto en un Web Worker
Por qué: El OCR (Tesseract.js) corre en segundo plano, así que la escritura se convierte en tarea sin congelar el lienzo.
Lo que se construyó
- Lienzo infinito con lápiz, borrador, formas, lazo de selección y exportación a PDF.
- Pila de tareas, modo de enfoque con Pomodoro, matriz de Eisenhower y heatmap de productividad.
- Varita mágica: la escritura a mano se convierte en tarea mediante OCR en el navegador.
- Emparejamiento por código QR y colaboración en tiempo real entre dispositivos.
- Tema claro y oscuro, portugués e inglés, instalable como aplicación.






Resultados
- 0cuentas o servidores de datos para que el usuario empiece a usarloFuente: Funcionamiento de la app en producción
- 3lenguajes en el código: TSX, TypeScript y C++ (motor de dibujo)Fuente: Repositorio de InkFlow, 13/10/2026
El azulejo de este caso
Líneas no vacías de código fuente por lenguaje, contadas en el repositorio (carpetas src y wasm).
| Líneas de código de InkFlow por lenguaje | líneas |
|---|---|
| TSX (interfaz) | 3,555 |
| TypeScript (lógica) | 2,437 |
| C++ (motor de dibujo) | 74 |
Fuente: Repositorio de InkFlow · 2026-10-13
¿Quiere algo de este nivel?
Envíe el problema, no la especificación.