Ascii Collab: Draw ascii art together on an infinite canvas

A month ago I realized I really like drawing ascii art. Originally I was using but it lacks features I wanted. So I ended up making my own webapp that lets people draw ascii art together on an infinite canvas.

Here’s what it looks like in action!


  • People can edit the canvas at the same time and see each others changes
  • Per-user undo history
  • Copy/paste and block select text
  • Hide changes made by a user
  • Link positions on the canvas (like this

Both the frontend and backend are written in Elm, using Lamdera. Developing this app went smoothly and I was able to finish it over a span of 6 weeks.

I will open source this eventually but for now it uses undocumented Lamdera features that aren’t ready for release yet.

Oh, also I’ll being giving a short presentation at elm-london on Thursday about this.


That is very nice - especially the front and back end in Elm aspect.

I am curious, what data structure did you use for the ‘infinite’ 2d grid of ascii characters?


It looks like this Dict ( Int, Int ) Cell where each cell is a 16x16 block of ascii characters (along with some extra data like who wrote what and in what order).

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.