visual designer / art director

visual designer / art director

visual designer / art director

Ledwo oczy otworzy

Ledwo oczy otworzy

Turn a static meme into something you can play with, using the Framer canvas and as little code as possible.

Turn a static meme into something you can play with, using the Framer canvas and as little code as possible.

Industry

Personal experiment

Personal experiment

Year

2026

2026

Role

Concept, design, Framer development

Concept, design, Framer development

Scope

Web / Interaction

Web / Interaction

Team

Solo

Solo

Problem

The caption “Ledwo oczy otworzy i już do komputera” (roughly: “barely opens his eyes and straight to the computer”) is funny on its own. I wanted the joke to happen to the visitor: the painting stays perfectly still, and only the captain’s eyes come alive to follow the computer around the screen.

Solution

The background and typography are static Framer canvas layers. The eyes are a small React code component: each one has a white base, a loose pupil on a spring and a clear plastic dome with fixed highlights, so it reads as a real 3D googly eye. Their position is calculated from the painting’s crop, so they stay on the face on every screen. The cursor is a native Framer custom cursor with a light spring delay.

Result

Live meme site that works on desktop, tablet and phone.

The painting and the caption never move. Only the captain’s googly eyes do.

Process

  1. Static base. Painting, caption and layout built entirely on the Framer canvas, with nothing animated.

  2. Eyes as a code component. A white base, a loose pupil on a spring and a clear plastic dome with highlights that stay put while the pupil moves.

  3. Pinned to the painting. Eye positions are stored as percentages of the image and recalculated from its crop, so they never slide off the face.

  4. A computer as the cursor. A vintage computer set as a native Framer custom cursor, with a light delay so it feels a bit heavy.

  5. Test, cut, repeat. I tried an English version, a white cursor and a pointer arrow. All three made the joke weaker, so they went.

The eyes are pinned to the painting, not to the screen, so they stay on his face on every device.

Key decisions

  • Canvas first, code only where needed. Everything stays editable in Framer. Only the eyes, which need live mouse tracking, live in code.

  • Physics over precision. The pupils lag and wobble a little. That sloppiness is what makes googly eyes funny.

  • Less is funnier. One painting, one caption, one pair of eyes. Every extra feature distracted from the punchline.

Reflection

A tiny project, but a good test of where Framer’s canvas ends and code begins. Testing it live mattered more than any plan: ideas that sounded good on paper made the joke weaker, and cutting them was the best design decision.

Available for new projects

Let’s design the next one together.

Let’s design the next one together.