Skip to content

Crosswords is a powerful Streamlit app that helps you solve crossword puzzles using AI-powered clue recognition and web scraping. Just upload an image or screenshot of your puzzle, and the app extracts the clues with ChatGPT Vision, searches for possible answers online, and displays them instantly. Works locally or online via Streamlit Cloud

License

Notifications You must be signed in to change notification settings

saccofrancesco/crosswords

Crosswords App

🧩 Crosswords: Crossword Puzzle Answer Finder

A fast and intuitive crossword solver powered by OpenAI and web scraping β€” built with Streamlit.

Contributors Forks Stars

TL;DR β€’ Key Features β€’ Quickstart β€’ Credits β€’ License


πŸ“Œ TL;DR

Crosswords helps you solve puzzles by recognizing text with ChatGPT OCR and scraping answer databases.
It runs locally or online via Streamlit β€” fast, lightweight, and cross-platform.

πŸ‘‰ Try it online: crosswords.streamlit.app


πŸ”‘ Key Features

  • AI-Powered Clue Recognition – Uses ChatGPT’s image model to read and structure crossword clues from screenshots or scans
  • Efficient Solver – Web scraping + AI clue parsing finds answers fast
  • Real-Time Generation – Instant suggestions from your clues
  • Simple UI – Clean Streamlit interface
  • Cross-Platform – Runs on Windows, macOS, and Linux

⚑ Quickstart

You’ll need Git, Python, and pip.

# Clone this repository
git clone https://github.com/saccofrancesco/crosswords.git
cd crosswords

# Install dependencies
pip install -r requirements.txt

# Run the app
streamlit run main.py

This will start a local server (for your device) and a network server (accessible across devices on your network).


πŸ–ΌοΈ How It Works: Clue Recognition with ChatGPT Vision

  1. Upload or paste a screenshot/photo of your crossword puzzle.
  2. ChatGPT’s image model automatically detects and extracts the clues (e.g., β€œ12 Across: Capital of Norway (4)”).
  3. The app structures them into JSON format for easy processing:
[
  { "number": "12", "direction": "Across", "clue": "Capital of Norway", "length": 4 },
  { "number": "7", "direction": "Down", "clue": "Opposite of cold", "length": 3 }
]
  1. The solver uses these parsed clues to query answer databases and return suggestions.

No more messy OCR post-processing β€” just clean, structured clues straight from the puzzle image.


🧠 Credits & Acknowledgements

Crosswords uses these great tools:


πŸ“Ž You Might Also Like...

Explore more by the same author:


πŸ“œ License

This project is licensed under the MIT License β€” feel free to use it in your own projects!


GitHub @saccofrancesco

About

Crosswords is a powerful Streamlit app that helps you solve crossword puzzles using AI-powered clue recognition and web scraping. Just upload an image or screenshot of your puzzle, and the app extracts the clues with ChatGPT Vision, searches for possible answers online, and displays them instantly. Works locally or online via Streamlit Cloud

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages