The Odin Project
Did something a little different - made it so pixels start at max opacity and 'decays' with new passes (Trail mode). Probably could be more optimized by keeping track of only currently shaded squares rather than updating every single pixel in the grid.