TL;DR • Key Features • Quickstart • Credits • License
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
- 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
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.pyThis will start a local server (for your device) and a network server (accessible across devices on your network).
- Upload or paste a screenshot/photo of your crossword puzzle.
- ChatGPT’s image model automatically detects and extracts the clues (e.g., “12 Across: Capital of Norway (4)”).
- 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 }
]- 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.
Crosswords uses these great tools:
Explore more by the same author:
- Supremebot: A Supreme shopping bot built with NiceGUI.
- Lock: A secure local password manager built with CustomTkinter.
This project is licensed under the MIT License — feel free to use it in your own projects!
GitHub @saccofrancesco