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 yourworldoftext.com 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.

https://ascii-collab.lamdera.app

Here’s what it looks like in action!

Features:

  • 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 https://ascii-collab.lamdera.app/?x=488&y=89)

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.

19 Likes

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?

2 Likes

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