About lilpix
lilpix is a tiny robot that lives in your browser. It has a pixel-art face, three RGB LEDs on its head, and a mood that changes every time you click it.
Say hi →Things to try
- Click the bot
- Switch to the next expression. Each one has its own sound.
- 1–9
- Jump straight to one of the first nine expressions.
- ⌘K / Ctrl K
- Open the command menu. Hover an expression or backdrop to preview it before you pick.
- Move your cursor
- The eyes follow it, and the body turns a little after them.
- Tilt your phone
- On mobile, lilpix looks around as you tilt. iOS asks for access on your first tap.
- Drag and scroll
- Orbit around the bot and zoom in or out.
Expressions
Every face is a small grid of lit pixels, paired with an LED pattern and a short chiptune motif.
Under the hood
lilpix is built with React and React Three Fiber on top of three.js. The body is a pair of rounded boxes traced from the original flat illustration.
- The eyes are one draw call. Every lit pixel is an instance of a single mesh, so a busy face costs the same as a simple one.
- Only the LEDs glow. The bloom pass skips anything below full brightness, and only the LEDs go past it. Each color is tuned so blue glows as strongly as green.
- Backdrops live in the scene. Bloom only draws over pixels the canvas renders, so a CSS background behind the canvas would lose the glow.
- Resolution adapts. When frames start dropping, the render resolution steps down, and it climbs back once there's room.
Open source
The code is on GitHub under the MIT
license. Find me on X. Adding an expression takes one
entry in src/expressions.ts and a sound in src/sounds.ts. The
README walks through it.
Credits
Type is Geist Pixel by Vercel. The menu uses cmdk and vaul, sounds come from @web-kits/audio, and icons from Phosphor. Inspired by Vercel Ship 2026.