Reading online, reimagined for focus and accessibility.
BookWorm is an innovative Flask-based web application created during the GrizzHacks 2025 Hackathon, designed to transform any webpage into a customizable, distraction-free reading experience. Enhance focus, accessibility, and interactivity with unique tools such as our Interactive Garden, Magic Highlight, and Read-Aloud functionality.
- Distraction-Free View: Automatically removes clutter and distractions from articles.
- Personalized Reading: Customizable fonts, adjustable spacing, and responsive design.
- Accessibility: Light/Dark mode toggle for comfortable viewing at any time.
- Cultivate a virtual garden that grows dynamically the longer you read, motivating consistent focus and attention.
- Instantly identify and highlight key points and essential information in your articles automatically.
- Highlight important text and add personalized notes directly onto web articles for enhanced engagement.
- Listen to your articles with built-in text-to-speech support, increasing accessibility and convenience.
- Easily save and revisit your favorite articles anytime.
- Activate a playful twist with reversed text and a whimsical interface, designed purely for fun!
BookWorm is conveniently packaged in Docker for effortless deployment:
The official Docker image is hosted on Docker Hub under mwcurtis20/bookworm. Tags include:
latest: Most recent buildstable: Most recent stable release- Specific version tags based on application releases
Pull the image easily:
docker pull mwcurtis20/bookworm:stable- Deploy using Docker Compose provided (
docker-compose.yaml). - Automated deployment and updates are powered by Watchtower, ensuring the application is always up-to-date without manual intervention.
Run deployment:
docker-compose up -dOur project utilizes GitHub Actions for automated builds and deployments:
- Multi-Architecture Builds: Automatically builds Docker images for AMD64 and ARM64.
- Automated Deployment: Images are automatically pushed to Docker Hub upon successful builds on the
mainbranch. - Version Tagging: Images are tagged with
latest,stable, and specific version numbers extracted fromapp/params.json.
- Languages: Python, JavaScript
- Frameworks: Flask, Tailwind CSS
- Libraries: Fontawesome, Rich
- Tools: Docker, Conda, Waitress
- APIs: Google Gemini API
BookWorm/
├── app/
│ ├── static/ # CSS, JS, Images
│ ├── templates/ # HTML views
├── requirements.txt # Dependencies
├── run.py # Entry point
├── Dockerfile # Docker setup
└── docker-compose.yaml # Docker Compose setup
See instructions above for Docker deployments or follow the manual development setup provided.
- Paste your article URL into the input field.
- Click "Read" to enjoy a distraction-free interface.
- Customize your reading using fonts, spacing, and colors.
- Enable Focus Mode to grow your virtual garden.
- Use annotation and highlight tools to engage actively.
- Enable Magic Highlight for instant insights.
- Revisit articles for later revisits.
This project is licensed under the MIT License - see LICENSE for details.
© 2025 BookWorm - Reading online, reimagined for focus and accessibility