-
Pl
chevron_right
Laureen Caliman: Introduction Post
news.movim.eu / PlanetGnome • 13 May 2026 • 3 minutes
May 13th, 2026
My name is Laureen Caliman, and I am a contributor for GNOME Crosswords with Google Summer of Code 2026. Crosswords are a stimulating challenge that promotes engagement in education . Computing systems are now an indelible factor of daily life, which has raised concerns on maintaining attention, long-term memory, and reinforcement of knowledge in K-12. One study was performed in Indonesia to teach students English using crosswords. A measurable improvement in the students’ coherence to the foreign language material was seen, demonstrating benefit to their education.
Unlike traditional crossword grids which are rigidly defined, vocab-style puzzles are fitted using algorithms to shape them together. Users will have the option to edit their crossword in the Editor, and open it in Crosswords. My project entails adding the proper backend and frontend support to create vocab-style crossword puzzles.
My mentors are:
- Jonathan Blandford
- Federico Mena Quintero
About Me:
I am an incoming Computer Engineering student at Rose-Hulman Institute of Technology. I also teach K-12 computer science, so I really relate to this project’s mission about bridging software with education.
I am eager to contribute to this community and learn more about the inner workings of GNOME. I intend to continue contributing to GNOME for a long time after this project finishes!
GNOME Crosswords:
Jonathan Blandford presented an in-depth overview of the history of GNOME at GUADEC 2017, which is available to watch here . Blandford also presented Crosswords to the 2024 GUADEC here .
Crosswords consists of two domains:
- The Crosswords Editor , which is a tool to create and edit crossword puzzles.
- The Crosswords Game , which is where the user plays crossword puzzles.
My project will see to both: the editor for a user to create the puzzle, and the game platform to play it. They will also have the option to print their game in black and white using Cairo Graphics.
Technical Challenge:
Traditional crosswords have a stable grid ready for play; the vocab-style crossword will be weaving words together in the most logical way upon a blank canvas. My project focuses on building the algorithm which will take in words and distribute them to form a connected puzzle.
The biggest challenge is ensuring the program doesn’t get stuck. As it places words on the board one-by-one, it has to follow strict rules:
- The words must be interlocked and aligned.
- The whole puzzle must be connected as a single piece.
- Words cannot form gibberish with their connecting path or neighboring words.
- The grid must also not enter a permanent hangup trying to fit clashing words together.
Approach:
I will be splitting the work across the backend logic and frontend UI to make a presentable and functional puzzle.
This program will use an algorithm to deal words. Upon a rule violation, it will backtrack to find an adequate fitting by reversing itself, deleting unideal portions of the current layout, and reseeding words differently. Essentially, it places a word on the grid, tests the board with another word, and if it hits a wall, the board cleanly undoes that path until it finds another valid one. This will continue until all words are fitted together and simultaneously satisfies the constraints.
The frontend will contain stateless widgets that render with the flow of the grid. The widgets should simply read the state without mutating any data.
This trial-and-error approach will afford the program the ability to test combinations until it finds a perfectly fitting, playable crossword puzzle!
Currently, we are in the “Community Bonding Period” (May 1st-24th), and I have been communicating consistently with Jonathan Blandford to refine the approach and implementation. To gain practice, I have been working on this merge request for applicable practice towards my GSoC project.