Client-side image, video & GIF processor

Dither Dog: Dither your whole world.

Dither Dog turns any photo, video, or GIF into pixel-precise art, with dozens of dithering algorithms and color palettes rendered entirely in the browser. It was my first fully designed and deployed web application, and I have kept growing it since: what started as a single-image filter is now a full processing tool with presets, video support, and guides.

Live at ditherdog.tech

Category
Graphic Design
Timeline
2025–2026
Dither algorithms
28
Color palettes
23
Curated presets
20
Client-side
100%

Demo

My role

Solo developer. I owned every part of the product.

  • Product Design
  • UI / UX
  • Front-End Development
  • Project Management
  • Brand

Built with

Tools and platforms behind the shipped product.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Canvas API
  • Vercel
  • Claude Code

01 · Origin

A designer ships a real tool

Dither Dog started as a personal challenge: could I design and ship a functional web tool without prior development experience? By pairing my design background with AI-assisted coding through Claude Code, I took it from an idea to a deployed product, and then kept iterating on it like a real product rather than a one-off experiment.

02 · Product

From one filter to a full workspace

The first version applied a handful of effects to a single image. The current release is a complete dithering workspace:

  • Images, videos, and GIFs, all processed in the browser. Nothing is ever uploaded to a server
  • 28 algorithms across error diffusion (Floyd-Steinberg, Atkinson, Stucki, Sierra), ordered dither (Bayer, blue noise, clustered dot), and artistic patterns (halftone, crosshatch, stipple, spiral)
  • 23 color palettes, from Game Boy green to cyan-and-magenta print halftone
  • 20 hand-tuned presets that dial in an algorithm, palette, and contrast curve in one click
  • A Guides section that teaches how dithering works, so the tool doubles as a learning resource
Classic Newspaper preset with the Effect & Color controls open
Classic Newspaper preset with the Effect & Color controls open
Retro Game Boy preset
Retro Game Boy preset
Vintage Poster preset
Vintage Poster preset

03 · Design Direction

A sleek, robotic instrument panel

I wanted the interface to feel like precision hardware: something between a lab instrument and a retro terminal. The UI steps back so the artwork carries the color:

  • Near-black canvas with a single signal-orange accent for every primary action
  • Dot-matrix display type that echoes the pixel grids the tool produces
  • Monospace, all-caps labels and numbered modules (01, 02, 03) that read like machine readouts
  • Hard edges, hairline borders, and no rounded corners, so everything feels engineered rather than decorative

04 · Development

Learning to build by building

Dither Dog was where I learned the fundamentals of shipping software:

  • Structuring a Next.js and TypeScript app with a reusable component architecture
  • Canvas API pixel manipulation for real-time image processing
  • State management for algorithm, palette, and contrast settings across images, video frames, and GIFs
  • Performance work: debounced updates so sliders stay smooth, and careful canvas handling for large files
  • Continuous deployment on Vercel, with the source public on GitHub

05 · Project Management

Small scope, real discipline

Even as a small, niche project, Dither Dog taught me to run work like a product team of one:

  • Start with a focused core (upload, dither, export), ship it, then expand in deliberate releases
  • Prioritize the features that make the tool more useful (presets, video, guides) over ones that only add complexity
  • Keep the design system consistent as features grow, so new screens feel native to the product
  • Treat feedback and real usage as the roadmap instead of building in isolation

06 · Takeaways

What it taught me

The gap between design and development is bridgeable. With the right tools and approach, designers can ship real products:

  • One feature done well beats many half-finished ones
  • Design and development inform each other, and iterating between both improves the result
  • AI-assisted coding speeds up learning, but understanding the fundamentals is what makes it work
  • Shipping something real, then improving it, beats endless polish in isolation

Ready to build something?

Let's discuss how I can help bring your project to life.