AAC Web Project is a Flask-based Augmentative and Alternative Communication (AAC) web app that helps users communicate using icons, sentence building, and speech tools.
The app includes role-based flows (user/caregiver) and supports:
- Communication boards with categories
- Sentence builder
- Text-to-speech and speech-to-text
- Caregiver content management (icons, categories, sentences)
- Image-to-text support using BLIP + translation to Malayalam + generated audio
This project currently supports only Malayalam and English.
This project was developed as part of a college course project. Its primary purpose is learning, experimentation, and academic demonstration. It is not intended to be a production-ready clinical AAC system.
This repository may contain prototype features and is provided for educational use. Do not use it as a substitute for professional medical or therapeutic AAC tools.
- Backend: Python, Flask
- Frontend: HTML (Jinja templates), CSS, JavaScript
- AI/ML: PyTorch, Transformers (BLIP, mBART)
- Speech: gTTS and browser speech APIs
- Storage: JSON file (
data.json)
AAC-Web_Project/
|- app.py
|- data.json
|- requirements.txt
|- templates/
|- static/
| |- css/
| |- js/
| |- images/
| |- audio/
|- add_images.py
git clone <your-repo-url>
cd AAC-Web_ProjectWindows PowerShell:
python -m venv .venv
.\.venv\Scripts\Activate.ps1pip install -r requirements.txtpython app.pyThe app runs at:
- User login/register and role-based navigation
- AAC communication board with category filtering
- Sentence creation and playback
- Text-to-speech endpoint (
/tts) for reliable audio playback - Speech-to-text input in the browser
- Caregiver dashboard to add/edit/delete icons, sentences, and categories
Add screenshots after taking them from your running app, for example:
docs/screenshots/login.pngdocs/screenshots/communication-board.pngdocs/screenshots/caregiver-dashboard.png
Example markdown to use:


Use this section if you want visitors to test quickly.
Caregiver
Username: your_caregiver_username
Password: your_caregiver_password
User
Username: your_user_username
Password: your_user_password
- Some features download large model files on first use (Transformers models).
- Uploaded and generated assets are stored in
static/images/customandstatic/audio. - App data is persisted in
data.json.
- Move from JSON storage to a database
- Add tests for routes and data operations
- Add environment-based configuration for production
- Add authentication hardening and password hashing
This project is licensed under the MIT License. See LICENSE.