Experiment

Halftone Studio

A small shader experiment that renders live video as an animated halftone dot field.

Placeholder preview of the Halftone Studio interface

Project data

Role
Creator
Type
Experiment
Stack
  • WebGL
  • GLSL
  • TypeScript
Duration
1 month
Year
2022
Status
Archived

The challenge

Halftone in real time

The goal was a halftone effect fast enough to run on a live camera feed.

How it was built

Development process

Six phases from the first conversation to the release. The bar shows how the time was split.

4 weeks in total

  1. Research

    A week of prototypes to find out how far real-time halftone rendering can go in the browser.

    1 week · Rendering prototypes

  2. Architecture

    Data model, rendering strategy and API contracts were agreed before the first screen was drawn.

    2 days · ADR, data model

  3. Interface

    A component inventory and responsive layouts, built entirely from design tokens.

    3 days · Token set, component inventory

  4. Build

    Features went live in small slices behind flags, with typed boundaries between client and server.

    6 days · Feature slices

  5. Testing

    Unit, end-to-end and accessibility checks ran on every pull request.

    2 days · Test suite in CI

  6. Deployment

    Every branch got a preview environment; the production rollout was a single click.

    2 days · Preview and release pipeline

  7. Result

    Archived experiment; the technique lives on in this portfolio's hero.

Screens

Under the hood

One pass, no readbacks

Everything happens in a single fragment shader, so the CPU never touches pixel data.

  • WebGL
  • GLSL
  • TypeScript

Next project

Want something similar? Let’s talk.

Let’s talk

Tell me about your project. I usually reply within two working days.