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