System Overview
Conceptual Design
The frontend of the AAC application is built using JavaScript with Vue 2.7 to manage UI components and application state. The application is designed to run across multiple platforms, including desktop, tablet, and mobile devices. A Progressive Web App (PWA) architecture is used, leveraging service workers and IndexedDB (via PouchDB) to ensure fast load times and reliable offline functionality. The primary user interface is an AAC grid that allows users to select words and construct sentences, which are then converted to speech using the Web Speech API or ResponsiveVoice.
Data persistence is handled primarily through PouchDB, a browser-based NoSQL database that stores user data locally. When cloud sync is enabled, user profiles and settings are synchronized using Firebase Cloud Firestore. Users authenticate with Google OAuth SSO via Firebase Authentication. Word prediction is performed client-side using an n-gram model (bigrams and trigrams) that learns from user interactions and is stored in localStorage. No server-side prediction engine or analytics backend is needed. Symbol images are retrieved from the ARASAAC API and cached locally by the service worker for offline use. ElevenLabs integration is planned as an additional premium speech synthesis option alongside the existing browser SpeechSynthesis API and ResponsiveVoice.
Project Abstract
This document proposes an Augmentative and Alternative Communication (AAC) web application that combines a virtual communication board with next-word prediction to provide a more seamless and efficient communication experience. Users select words from a communication grid, after which the system suggests subsequent words based on either algorithmic predictions or caregiver input. This approach is intended to encourage vocabulary growth through exposure to previously unfamiliar words.
By interpreting words within the context of the surrounding sentence and accompanying images, users—particularly children—can infer meaning more effectively. Overall, the application aims to deliver an engaging, educational, and accessible communication tool that supports both communication and language development.
Background
Existing AAC solutions such as Grid by Smartbox and TouchChat by Saltillo are widely used but are closed-source and often prohibitively expensive. Grid typically requires a monthly subscription, while TouchChat involves a high one-time purchase cost. Smart-Lang seeks to provide a more accessible, web-based AAC communication board that emphasizes vocabulary growth alongside communication.
Like existing solutions, Smart-Lang enables users to construct sentences by selecting words on a touch-based interface. However, it differentiates itself through intelligent word suggestion, caregiver-assisted input, and customization features. Caregivers can add new vocabulary by providing associated words, images, and voice recordings. The application also supports category-based organization of words and sentence construction, offering functionality comparable to established AAC tools while remaining more flexible and affordable.