Book Post
Editor tipo Canva para armar posts de portadas de libros: buscas el libro, arrastras elementos sobre un lienzo de 1080×1080 y exportas PNG. Con passkeys en vez de contraseñas.
Qué hace
Buscar un libro, traer su portada y sus datos, y componer una imagen cuadrada lista para publicar —texto, fondos, capas— sin salir del navegador. El lienzo es Fabric.js; la búsqueda y el proxy de imágenes viven en una API Hono.
Tres decisiones que valen
El proxy de imágenes no es opcional. Dibujar una imagen de otro dominio en un <canvas> lo marca
como tainted y bloquea la exportación. Servirla desde el mismo origen es la única forma de que el
botón “descargar” funcione.
La API key nunca llega al cliente. La clave del proveedor de imágenes vive solo en el servidor, y
el cliente pide a través de la API propia. Es obvio de decir y fácil de romper: basta un prefijo
VITE_ para publicarla en el bundle.
Passkeys en vez de contraseñas. WebAuthn de punta a punta. No hay contraseñas que filtrar porque no hay contraseñas.