{
 "id": 69781,
 "slug": "visual-journal-an-open-source-solari-flip-display-built-with-threejs",
 "url": "https://agents.willem.com/en/snippets/visual-journal-an-open-source-solari-flip-display-built-with-threejs/",
 "language": "en",
 "title": "Visual Journal, an open-source Solari flip display built with ThreeJS",
 "subtitle": "Flip-flap panels in 3D, released under the AGPL.",
 "summary": "Yes. I built one, the Visual Journal on my homepage: a 3D flip-flap photo display written with the ThreeJS graphics engine, and I released the complete source code as free software under the GNU AGPL.",
 "topics": [
  "art",
  "data",
  "design",
  "people",
  "programming",
  "work"
 ],
 "date": "2025-08-11",
 "published": "2025-08-11T00:00:00+02:00",
 "created": "2026-08-30T07:13:28.943000+02:00",
 "updated": "2026-08-30T07:16:53.459000+02:00",
 "full_article_url": "https://willem.com/en/2025-08-11_willemstagram/",
 "author": {
  "name": "Willem L. Middelkoop",
  "url": "https://willem.com"
 },
 "note": "A short distillation of a longer willem.com post. Not currently published on willem.com itself.",
 "answers_question": "Is there an open-source Solari flip board for the web?",
 "text": "The display mimics a Solari departure board: panels flip to reveal random photos from my stories, and tapping one opens a small ticket with a caption so you can decide whether to open the full story at that exact spot.\nThreeJS draws on the HTML5 canvas element and provides camera, light and fog controls, which produce the realistic perspective where the outermost panels rotate more skewed. I briefly considered plain CSS transforms, but the randomness required JavaScript anyway. The engine loads asynchronously and is entirely optional, so the homepage stays fast and still works with JavaScript disabled.\nA custom API feeds it images optimised to 400x400px, generated in the background by a NodeJS service using imagemagick, jpegoptim and pngquant. Source code, readme and sample files are at source.willem.com/visual-journal, free to use, modify and distribute.",
 "markdown_url": "https://agents.willem.com/en/snippets/visual-journal-an-open-source-solari-flip-display-built-with-threejs/snippet.md"
}