I made Colluder

Realtime collaborative crosswords

Try it out · Read the code

Why

I like crosswords.
My mum likes crosswords.
My mum and I like to complete crosswords together.
My mum and I live in different cities.

Enter: Colluder – a realtime collaborative crossword website that allows you to complete puzzles with friends all over the world! Create a puzzle, share the link and get solving!

What

This site has a target audience of my mum and me, and as a result is very rough and ready. It is tested to be 100% accessible, but only to those 2 people. If you use the site, get in touch. I'd love to hear about how you use it and any ideas you have!

How

I wrote the basic form of Colluder in a day. To achieve this I used vanilla HTML, CSS and JavaScript with Pocketbase as the backend.

To make things easier on myself, the data structures are very naive. A crossword has a list of across and down clues and a collection of squares. Each square stores an x, y coordinate and a user-inputted letter.

When the app is run, it draws the squares, figures out how to number the across and down words, then applies that numbering scheme to the clues. This sounds like a lot of work but made crossword creation significantly easier, since the user could just draw the crossword and write out a list of clues.

As I add more complicated features, I'm starting to regret these choices, so I will likely end up migrating to a more complicated data structure to simplify the code. In the meantime, I'm enjoying having a functioning website that does exactly what it needs to and nothing more.