For our first wedding anniversary, I thought I would go the traditional route with a paper gift for my wife. As she loves doing cryptic crosswords, it seemed a good idea to make her a personalised crossword to solve. Then I was faced with the dilemma of how to go about about making one. I ended up using Excel, making all the cells square, and colouring them black where necessary. It worked, but it was slow, clunky, and I had great difficulty finding words that would fit with other existing letters in the grid. So that’s when I thought a crossword creator would be a fun thing to make (and save me time for future anniversaries maybe 🙂).
I was primarily thinking of the crossword creator being an app initially, and possibly at a later stage, a website. I decided to use the Ionic Framework which can make cross-platform mobile apps and Progressive Web Apps for browsers from a single code base. I chose to integrate it with Vue.js / TypeScript but you can use the other main JavaScript frontend frameworks such as Angular or React. Having had experience before with Paper.js I knew I could use that to draw everything I needed for the grids.
So here is the progress so far. You can create crosswords but you can’t save or export them yet and it doesn’t yet support multi-word answers and non-square grids. But the general user path is pretty much there, as you can see in the video.
Steps
You start by choosing the size of your grid, and then press/click on the square to toggle them between black and white. The clue numbers will automatically update.
When you are happy with your grid layout, you can proceed to the ‘Add Letter’ step.
Press/click on the square you wish to fill, and the keyboard will appear, and you can start typing. As you fill out more words, the process becomes more difficult as fewer words will fit, so you can use the Autofill button which will suggest fitting dictionary words.
Once all the words are in the crossword, you can start to write the clues in the next step by going to the ‘Write Clues’ step.
Here it will remind you of the words that need clues and you can enter the text in the boxes below.
Then you are done. When the crossword creator is completed, you will be able to press the ‘Export to PDF’ button and this will save or send you a PDF of your creation.