Thinkout loud,together.

psst — these words move. try it

Tack is a whiteboard your whole team draws on at once. Open a board, share the link, and everyone's shapes and cursors show up as they move.

Everything you'd reach for on a real whiteboard.

Plus the things a real whiteboard can't do, like arrows that follow the shapes they point at.

Select, resize, rotate

Click a shape or drag a box around several. Pull the handles to resize, or the top handle to rotate.

Every move shows up on every screen.

Try it: drag the square on your screen and watch it arrive on Ada's.

Your screen
drag me
Ada's screen
  1. 01

    You drag a shape

    Tack sends the change at most once per frame, so a fast drag doesn't flood the connection.

  2. 02

    The server passes it on

    Everyone on the board gets the same update. One slow connection never holds up the rest.

  3. 03

    Their screen redraws one shape

    Only the shape that moved is redrawn, so a board with thousands of shapes stays smooth.

  4. 04

    Late arrivals catch up

    Open the link mid-meeting and you get the whole board first, then every change after it.

Draw something we didn't think of.

Every shape in Tack, the built-in ones included, is a short definition: how it looks, how big it is, how it resizes. Write one and it gets selection, live sync and undo like everything else.

export const dotVote: ShapeDef<DotVoteProps> = {  type: "dot_vote",  version: 1,  defaultProps: { question: "", options: [] },  validate: parseDotVoteProps,  getBounds: (s) => ({ x: s.x, y: s.y, w: 280, h: 220 }),  Component: DotVoteCard,  migrations: [],}; shapeRegistry.register(dotVote);
dot_vote

What should we fix first?

Click an option to place a dot. 3 left.

adakofiyou