A Chrome extension that provides an interactive accessibility layer designed to help children with special needs use the Lovable website builder. The extension appears as a popup overlay on top of the Lovable interface and guides users through expressing creative ideas and refining them into structured prompts.
- Multimodal Input: Accept voice input, text input, or image uploads (like drawings)
- AI-Powered Interpretation: Uses AI to interpret vague ideas and engage users in playful back-and-forth to gather context
- Visual Presets: Shows visual preset options (color palettes, icons, layout styles) in simple card formats
- Accessibility First: Designed with accessibility in mind - large buttons, high contrast, rounded edges, and soft colors
- Drawing Canvas: Interactive drawing tool with color palette and brush controls
- Voice Recognition: Web Speech API integration for voice input
- Responsive Overlay: Draggable overlay that works on any website
src/
├── popup/ # Minimal launcher popup
│ ├── App.tsx # Main popup component
│ └── index.tsx # Popup entry point
├── overlay/ # Main application overlay
│ ├── OverlayApp.tsx # Main overlay component
│ ├── index.tsx # Overlay entry point
│ └── components/ # Overlay components
│ ├── A11yMenu.tsx # Accessibility controls
│ └── DrawCanvas.tsx # Drawing canvas with color picker
├── content/ # Content script for page injection
│ ├── index.ts # Content script logic
│ └── content.css # Content script styles
├── background/ # Background service worker
│ └── index.ts # Background script
└── styles.css # Global Tailwind CSS
- Clone the repository
- Install dependencies:
npm install
- Build the extension:
npm run build
- Load the extension in Chrome:
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode"
- Click "Load unpacked" and select the
distfolder
- Open Chrome and go to
- Build:
npm run build- Builds the extension for production - Dev:
npm run dev- Builds in development mode with watch - Clean:
npm run clean- Removes the dist folder
- Click the LovaBuddy icon in the Chrome toolbar
- Click "Open overlay on page" to launch the main interface
- Choose between "Draw" or "Describe" modes:
- Draw: Use the drawing canvas to sketch your idea
- Describe: Type or speak your idea
- Use the accessibility controls (♿) in the bottom-left for:
- Large text
- High contrast
- Reduce motion
- React 18 with TypeScript
- Tailwind CSS for styling
- Lucide React for icons
- React Colorful for color picker
- Webpack for bundling
- Chrome Extension Manifest V3
- Large Text: Increases font size for better readability
- High Contrast: Applies high contrast theme for better visibility
- Reduce Motion: Minimizes animations for users sensitive to motion
- Keyboard Navigation: Full keyboard accessibility
- Screen Reader Support: Proper ARIA labels and semantic HTML
- Chrome (Manifest V3)
- Chromium-based browsers (Edge, Brave, etc.)
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
MIT License - see LICENSE file for details
For issues and feature requests, please use the GitHub Issues page.