DEV Community

Oswin Jerome
Oswin Jerome

Posted on

From Easels to My Own Whiteboard: How I Built a Moodboard App to Replace Arcโ€™s Feature

๐ŸŽจ From Easels to My Own Whiteboard: Rebuilding a Moodboard App for Creatives

Like many creatives and visual thinkers, I loved using Easels in the Arc browser. It was my go-to tool for moodboards โ€” a simple, intuitive way to capture screenshots, images, and arrange them into creative layouts.

And thenโ€ฆ they removed it.

So instead of complaining โ€” I built my own.


Image description

๐Ÿ“Œ The First Version: A Weekend Proof of Concept

In a burst of weekend creativity, I put together a whiteboard application using:

  • ๐ŸŽจ Excalidraw for the canvas
  • โšก Next.js for the frontend
  • ๐Ÿ™ Supabase for backend services and real-time collaboration via WebSockets
  • ๐ŸŒ A Chrome extension that sends screenshots and images directly to my whiteboard

The coolest part? I wrote a custom auto-arrangement algorithm that intelligently positioned new images on the board as moodboards.

The result:

  • ๐Ÿ“ก Real-time collaboration
  • ๐Ÿ–ผ๏ธ Instant image capture via a Chrome extension
  • ๐Ÿ—‚๏ธ Auto-arranged, visually organized moodboards

It wasnโ€™t perfect โ€” but it scratched the itch I had when Easels disappeared.


๐Ÿš€ Why I'm Rebuilding It (and Changing the Stack)

Now that Iโ€™ve proven the concept works, itโ€™s time to level it up.

Iโ€™m planning to:

  • Move to a custom HTML5 canvas implementation (for better control and flexibility)
  • Rebuild the backend using Spring Boot for a more scalable, production-ready backend
  • Switch to PostgreSQL for managing boards, images, and moodboard metadata
  • Retain Next.js for the frontend because of its flexibility and developer experience

This rebuild will give me:

  • ๐ŸŽ›๏ธ Full control over canvas rendering, layering, and layout logic
  • โšก Faster, scalable real-time sync
  • ๐Ÿ”„ Better long-term maintainability

๐Ÿ› ๏ธ Planned Architecture

Frontend

  • Custom Canvas (likely using HTML5 Canvas API or libraries like konva.js or fabric.js)
  • Next.js app
  • WebSocket integration for live collaboration
  • Image upload & integration with my existing Chrome extension

Backend

  • Spring Boot REST API + WebSocket server
  • PostgreSQL for storing moodboards, images, layout positions, and metadata
  • Cloud or local image storage

Auto-Arrangement

  • Refactor and optimize my custom image arrangement algorithm
  • Dynamically position images based on canvas size, image dimensions, and user-defined groups

โœจ Whatโ€™s Next?

The ultimate goal is to build a fully open, collaborative moodboarding tool โ€” better than the original Easels โ€” allowing creatives and visual thinkers to:

  • ๐Ÿ“ฅ Instantly send images from anywhere via a browser extension
  • ๐Ÿ–ผ๏ธ Organize ideas visually in a flexible whiteboard interface
  • ๐Ÿ“ Collaborate in real-time
  • ๐ŸŽจ Maintain complete creative control without platform limits

Iโ€™ll be sharing updates as I go โ€” from building the custom canvas, to optimizing WebSocket sync, to refining the image auto-layout algorithm.


๐Ÿ’ก Final Thoughts

Sometimes, when a tool you love disappears, it opens up an opportunity.

I turned my frustration into a fun weekend proof-of-concept project, and now Iโ€™m rebuilding it into a real, scalable application โ€” on my own terms.


๐Ÿš€ Are you a moodboard lover or Arc Easels user too? I'd love to hear your ideas! Drop them in the comments ๐Ÿ‘‡

Top comments (0)