Andrew Brooke

Senior Software Engineer

Hey! I'm Andrew. Professionally I spend most of my time working as a backend / fullstack-ish engineer, but I also build and maintain fun software projects in my spare time. You can check out the source code and playgrounds for them below.

Projects

  • Chordlight

    A browser piano that helps learn riffs and solos, without knowing theory.

    Pick a key or load a chord progression, and every key shows how it fits the chord that is playing. Synthesised piano using Web Audio, MIDI keyboard support, and clips you can save as MIDI or JSON.

    • TypeScript
    • three.js
    • Web Audio
    • Web MIDI
  • pixel-sort

    Pixel-sorting glitch art, in the browser or from the command line.

    Sorts runs of pixels by brightness, hue, saturation or a single channel to smear images into streaks: horizontal, vertical, radial or spoke. The web app runs entirely in the browser, animated GIFs included, so images never leave your machine.

    • TypeScript
    • Canvas API
    • Node CLI