Pixel — Screen Diagnostics
An app that tests your phone's screen and helps fix stuck pixels.
Pixel is a phone app that checks a screen for problems and runs five repair modes for stuck pixels. I design and build it on my own with Expo and React Native.
Pixel is a phone app that takes care of your screen. It runs five repair animations for stuck pixels, five screen tests, a flashlight with more than 30 colors, and a small server that looks at a photo of your screen and finds the bad spots. Built by one person with Expo and React Native.
- Role
- Solo — design & code
- Timeline
- Ongoing
- Stack
- Expo SDK 54 · React Native 0.81 · React 19 · TypeScript (strict) · Reanimated v4 · Express 5 · PostgreSQL · Drizzle ORM · sharp · React Compiler + New Architecture
The idea
A stuck pixel can often be fixed — with the right light show.
The science.
Sometimes one tiny dot on your screen gets stuck on one color. Flashing bright colors at it, fast and long enough, can often wake it up again. Different problems need different light: fast flashes, slow color waves, or random noise. One repair mode is not enough — so the app has five.
What the app is.
Pixel is a complete screen toolkit built around that idea. It has five repair animations, five screen tests, a flashlight with more than 30 colors, and a server that checks a photo of your screen and points at the pixels that need help. One app, two jobs — find the problem, then fix it.
The main feature
Five modes, five ways to fix a pixel.
Each mode flashes the screen in a different way.
- Color-Cycle — Red, green, and blue flashes in a random order. The all-round mode that works when you don't know what's wrong.
- Fast-Flash — Pure black and white, flashing 60 times a second. The strongest signal — for pixels that are badly stuck.
- Random-Pixel — A thousand tiny dots of TV static, repainted every frame. The pattern that helps a fully dead pixel.
- Pulse-Wave — Slow color waves with soft changes in brightness. Gentle — for marks left by images that stayed on screen too long.
- Gradient-Sweep — A rainbow that slides across the screen, one pixel at a time. It catches dim spots that a full-screen flash misses.
Find problems, not just fix them
A full screen check-up inside a repair tool.
Five tests in a row.
Screen Test walks you through five small tests — dead pixels, even brightness, smooth color steps, response speed, and color accuracy. You can do the full check-up in one sitting, or jump straight to the one test you care about.
And four more next door.
There is also a Touch Test (does every part of the screen feel your finger?), Screen Calibration for brightness and color, a full-color Pixel Test for spotting dead pixels by eye, and a summary screen. Nine check-up screens in total, all inside one app.
The server
A backend that really looks at your pixels.
How it works.
You take a photo of your screen and the app sends it to a small server. The server scans the picture, finds the spots where the colors look wrong, and sends back their exact positions. The app then draws those points over your camera view, so you know where to aim the repair.
What the server is made of.
- Express 5 — A small web server with one job: receive the photo and answer fast.
- sharp for analysis — A photo tool that measures the picture pixel by pixel — fast and precise.
- PostgreSQL + Drizzle — The database. The app and the server share one set of data types, so they always speak the same language.
- One-file shipping — The server packs into one small file with one start command — easy to run anywhere.
The bonus feature
A flashlight hiding inside a repair app.
30+ colors, brightness in a gesture.
The Lantern tab is a color flashlight — more than thirty colors, a brightness slider, and a full-screen mode where sliding your finger up and down changes the light in real time. It even syncs with the phone's own brightness setting. Nobody expects it in a screen-repair app — and it's the reason many people keep the app installed.
Craft
The small details that hold it together.
What's under the hood.
- Sizes that adapt — Text and buttons scale with the size of the phone — so a big phone doesn't turn every label into a headline.
- One theme file — All colors, spacing, and text styles live in one file. Change it once, and the whole app follows.
- Icons that fit each platform — Apple-style icons on iPhone, matching icons on Android — each platform feels like itself.
- The newest React engine — The app runs on the latest React Native engine, which keeps even the heavy animations smooth.
Next project: Sprout — Money Affirmations