Skip to content
CO
← Back to projects
PlatformIn production

Book Post

A Canva-style editor for building book-cover posts: search a book, drag elements onto a 1080×1080 canvas, export a PNG. With passkeys instead of passwords.

What it does

Search for a book, pull in its cover and metadata, and compose a square, ready-to-post image — text, backgrounds, layers — without leaving the browser. The canvas is Fabric.js; search and the image proxy live in a Hono API.

Three decisions worth naming

The image proxy is not optional. Drawing a cross-origin image into a <canvas> taints it and blocks export. Serving it from the same origin is the only way the “download” button works at all.

The API key never reaches the client. The image provider’s key lives only on the server, and the client goes through my own API. Obvious to say and easy to break: one VITE_ prefix would publish it straight into the bundle.

Passkeys instead of passwords. WebAuthn end to end. There are no passwords to leak because there are no passwords.