How I built a New York Times Crossword Puzzle Trainer GPT called CrossTrainer

And how it can help you master the New York Times Sunday Crossword

Rowdy Vass
Towards AI

--

A crossword puzzle on a tablet with an AI assistant helping the user on the screen.
A crossword puzzle on a tablet with an AI assistant helping the user on the screen.

Attempting the New York Times Crossword every day was getting me nowhere.

No matter how hard I tried or how many crosswords I attempted, I could not get past the Tuesday (the second easiest day’s) puzzle. The New York Times Crossword starts at its easiest on Monday and slowly progresses in difficulty to Saturday. Sunday’s puzzle is bigger but more akin to Wednesday’s difficulty length. I’ve always wanted to finish the Sunday puzzle but have consistently fallen well short even with daily practice.

I decided to build a GPT (aptly named CrossTrainer) to help me master the Sunday puzzle.

Home screen for CrossTrainer — An Adaptive Crossword Puzzle Trainer GPT
Home screen for CrossTrainer — An Adaptive Crossword Puzzle Trainer GPT

Defining the formula

The formula I want is pretty simple.

  • I ask for the initial clue.
  • The GPT gives me a clue and the number of letters.
  • I guess the answer.
  • If I’m right, it gives me the explanation and then immediately gives me another clue.
  • If I’m wrong, it gives me the explanation and then immediately gives me another clue.
  • This continues and constantly adapts to my skill level — moving up a day in difficulty when things are too easy and dropping back a day when things are too tough.

So, where do I start?

Finding the knowledge base

First, I needed some resources I knew would enhance its understanding of the New York Times Crossword.

After doing some research, I decided on what seemed to be the two most reputable books on the subject:

I instructed the GPT to always reference these sources initially. I’m still uncertain if this pushes the GPT to reference these initially, but I will continue to tweak this. I also asked the GPT to friendly and helpful but cut to the chase and to follow the instructions closely.

Picking a data set

There are a TON of crossword data sources out there.

Some of these seem like garbage. I wanted the data to be quality. After some searching, I stumbled upon Max Deutsch’s excellent article on mastering the New York Times Crossword in 30 days. Some further digging revealed that he had shared his data set on Gumroad (Thanks Max!). This data set includes the clues, answers, and explanations for every New York Times crossword from 2009–2016.

I had to do some manipulation to get the dataset into a state where it could be more easily used by Chat GPT. Initially, it was an .xlsx file, and Chat GPT seemed to access it slowly. Converting it to .csv sped things up quite a bit, although there is still some lag on the initial clue.

Also, adding a column with a unique identifier for each row seemed to help Chat GPT navigate the file.

I added all of this to the GPT’s knowledge base and added specific instructions explaining what each column contained and how to access them.

Testing it out

When I first tested it, there were some initial hiccups I had to work through.

Initially, it gave information that was unnecessary and out of context — such as “6 down”. I removed this information from the dataset. There were some issues with character length, so I had to add a column in the data set it could directly reference. This helped, but it is still off from time to time. Telling it it was wrong when it is helps improve subsequent clues.

Also, initially, it references clues early in the file. Using the unique identifiers I added and sequencing the data set by difficulty, I was able to utilize random number generation to draw clues from across the entire file.

After working out some kinks, it was working great. See the example flow below:

Sample chat session with CrossTrainer — An Adaptive Crossword Trainer GPT
Sample chat session with CrossTrainer — An Adaptive Crossword Trainer GPT

Conclusion

It’s still not perfect — it’s slow to give the initial clue and still messes up character length sometimes, but with a minimum amount of work, I have a helpful tool to improve my crossword ability.

I’m going to spend some time with this GPT and will continue to tackle the daily crossword. Hopefully, this tool is what I need to improve my skill set. You can give it a shot here!

If you have any feedback or thoughts, please reach out!

--

--

Product Manager @Asurion | Follow me for product, productivity, and AI thoughts and advice. Might share some good tunes too.