Photobox
A browser-based photo collage editor with flexible layouts, local project storage and offline support.

Photobox is a photo collage editor that runs entirely in the browser, from loading the source photographs to rendering the finished image. There is no account to create or upload step. Photos remain on the device throughout.
Layouts and editing
The first release was limited to six templates and a single saved draft. I later rebuilt the layout system around five editing modes, including grid, split and freeform layouts, with direct positioning and cropping on the canvas. This also added custom dimensions and support for multiple projects.
The interface is built with Vue and TypeScript and the finished collage is rendered using the Canvas API. Canvas size, image format and resolution can be configured for the export, with all of the rendering done locally.
Saving projects
Projects and their source photographs are stored in IndexedDB, allowing a collage to be reopened and edited later. A service worker provides offline access to existing projects and the application can be installed as a PWA.
Browser storage is useful for keeping work between sessions, but projects can be downloaded as an editable .photobox format so they can be stored as a backup or transferred to another device without losing the layout and source images.
The editor is live at photobox.invoate.com.