<aside> 📦 Starter kit: github.com/Figr-design/frontend-engineer-assignment

Submit here: join.figr.design/r/kdqVkj

</aside>

Setting

You're building the viewer for a design tool. A board shows live previews of web pages. Each preview is an <iframe> showing a page served from a different origin than your app. Users point at elements inside any preview. Your app, the page that contains the previews (the "host"), draws the outlines and labels on top of each preview. It also shows a layers panel and an inspector for whatever is selected.

Use any framework, language, library, AI tool or workflow you like.

What you get

Fork the starter kit and run the backend with Node 18+: npm run backend

Terms

Requirements

R1: Board

  1. Show every screen from GET /screens as a preview, 1280×800 each, in a grid, with the screen name above it.
  2. Dragging empty board space pans the board. The wheel over empty board space pans too.
  3. Ctrl/Cmd + wheel zooms the board from 25% to 400%, centred on the pointer. This works wherever the pointer is, including over a preview.
  4. The wheel over a preview scrolls that page, in both modes.