Skip to content

๐Ÿ“ฑ Speak-EZ is a mobile-first, free, and accessible web app designed to empower vocally disabled (mute) individuals ๐Ÿงโ€โ™‚๏ธ by enabling seamless communication through Text-to-Speech (๐Ÿ—จ๏ธ TTS), AI-powered smart suggestions ๐Ÿค–, and contextual phrase buttons ๐Ÿ”˜, along with a built-in Emergency SOS feature ๐Ÿšจ to ensure safety and support when it matters.

Notifications You must be signed in to change notification settings

jishanahmed-shaikh/Speak-EZ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

14 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ—ฃ๏ธ SpeakEZ - Giving Voice to the Voiceless

SpeakEZ Logo

Empowering Communication Through Technology ๐Ÿ’ฌโœจ

A mobile-first, accessible web application designed to empower non-verbal users to communicate effectively using Text-to-Speech (TTS), intelligent suggestions, and contextual phrase buttons.

Next.js React TypeScript Tailwind CSS Vercel

License Version Mobile First Accessibility


โœจ Features

๐ŸŽฏ Core Functionality

  • ๐Ÿ—ฃ๏ธ Text-to-Speech (TTS) - Convert text to natural speech using Web Speech API
  • ๐Ÿง  Smart Suggestions - AI-powered contextual phrase recommendations
  • ๐Ÿ“ฑ Mobile-First Design - Optimized for touch devices and mobile screens
  • โ™ฟ Accessibility Ready - WCAG compliant with proper contrast and touch targets
  • ๐Ÿ’พ Offline Support - LocalStorage for favorites and custom phrases
  • ๐Ÿšจ Emergency Button - Always accessible emergency communication

๐ŸŽจ User Experience

  • ๐ŸŒˆ Customizable Interface - Adjustable font sizes and contrast settings
  • โญ Favorites System - Save frequently used phrases for quick access
  • ๐Ÿ”„ Smart Context - Contextual phrase suggestions based on usage patterns
  • ๐Ÿ“ Custom Phrases - Create and manage personalized communication sets

๐Ÿš€ Getting Started

๐Ÿ“ฆ Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v18 or higher) ๐ŸŸข
  • npm or yarn package manager ๐Ÿ“ฆ

๐Ÿ› ๏ธ Installation & Setup

  1. Clone the repository

    git clone https://github.com/jishanahmed-shaikh/Speak-EZ.git
    cd Speak-EZ
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Run the development server

    npm run dev
    # or
    yarn dev
  4. Open your browser

    Navigate to http://localhost:3000 ๐ŸŒ

    ๐Ÿ’ก Pro Tip: For the best experience, use mobile device emulation in your browser's dev tools or test on an actual mobile device!


๐Ÿ“ฑ Mobile-First Testing

๐Ÿ”ง Development Testing

  • DevTools Emulation: Use Ctrl+Shift+M (Chrome/Edge/Firefox) to toggle device toolbar ๐Ÿ“ฒ
  • Touch Targets: All interactive elements are minimum 44x44px for optimal touch accessibility ๐Ÿ‘†
  • TTS Testing: Test speech functionality by typing text or tapping phrase buttons ๐ŸŽต
  • Responsive Design: Verify layouts work across different screen sizes (320px - 1200px+) ๐Ÿ“

๐Ÿ“‹ Testing Checklist

  • TTS functionality works on target devices ๐Ÿ”Š
  • All buttons are easily tappable on mobile ๐Ÿ“ฑ
  • Emergency button is always accessible ๐Ÿšจ
  • Favorites save and load correctly ๐Ÿ’พ
  • Smart suggestions appear contextually ๐Ÿง 
  • Offline functionality works without internet ๐ŸŒ

๐Ÿง  AI Integration & Voice Models

๐ŸŽค Default TTS Engine

The application uses the browser's built-in Web Speech API for Text-to-Speech functionality by default - no additional setup required! ๐ŸŽฏ

๐Ÿค– AI-Powered Smart Suggestions

Currently integrated with Groq SDK for intelligent phrase suggestions. The app supports multiple AI providers:

  • ๐ŸŸข Groq (Current) - Fast inference for real-time suggestions
  • ๐Ÿ”ต OpenAI GPT-4 - Advanced language understanding
  • ๐ŸŸก Google Gemini - Multimodal AI capabilities
  • ๐ŸŸฃ Custom Models - Bring your own AI endpoint

โš™๏ธ Configuration Guide

Smart Suggestions Setup:

// src/components/SmartSuggestions.tsx
// Replace the placeholder with your preferred AI service
const suggestions = await yourAIService.generateSuggestions(context);

Custom TTS Engine:

// src/components/TTSInput.tsx  
// Swap out Web Speech API with your preferred TTS service
const speak = (text: string) => {
  // Your custom TTS implementation here
};

๐Ÿ”‘ Environment Variables

Create a .env.local file for API keys:

GROQ_API_KEY=your_groq_api_key_here
OPENAI_API_KEY=your_openai_api_key_here
GOOGLE_AI_KEY=your_google_ai_key_here

๐Ÿ› ๏ธ Customization & Development

๐Ÿ“ Project Structure

src/
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ page.tsx          # ๐Ÿ  Main application layout
โ”‚   โ”œโ”€โ”€ globals.css       # ๐ŸŽจ Global styles & Tailwind imports
โ”‚   โ””โ”€โ”€ layout.tsx        # ๐Ÿ“ฑ Root layout configuration
โ”œโ”€โ”€ components/           # ๐Ÿงฉ Reusable UI components
โ”‚   โ”œโ”€โ”€ TTSInput.tsx     # ๐ŸŽค Text-to-Speech input component
โ”‚   โ”œโ”€โ”€ SmartSuggestions.tsx # ๐Ÿง  AI-powered suggestions
โ”‚   โ””โ”€โ”€ ...              # ๐Ÿ“ฆ Other modular components
โ”œโ”€โ”€ hooks/               # ๐Ÿช Custom React hooks
โ”œโ”€โ”€ types/               # ๐Ÿ“ TypeScript type definitions
โ”œโ”€โ”€ data/                # ๐Ÿ“Š Static data and configurations
โ””โ”€โ”€ assets/              # ๐Ÿ–ผ๏ธ Images, icons, and media files

๐ŸŽจ Styling & Theming

  • Global Styles: src/app/globals.css - Base styles and Tailwind imports
  • Component Styles: Tailwind CSS classes for responsive design
  • Custom Themes: Modify CSS variables for color schemes and typography
  • Responsive Design: Mobile-first approach with Tailwind breakpoints

๐Ÿ”ง Key Customization Points

  • ๐Ÿ  Layout Changes: src/app/page.tsx - Main app structure and features
  • ๐Ÿงฉ UI Components: src/components/ - Modular, reusable interface elements
  • ๐ŸŽจ Visual Design: Tailwind config and CSS variables for branding
  • ๐Ÿ“ฑ Mobile Optimization: Touch targets, gestures, and mobile-specific features

๐Ÿงช Testing & Quality Assurance

๐Ÿ” Manual Testing

  • ๐Ÿ–ฑ๏ธ Desktop Testing: Verify all functionality works with mouse and keyboard
  • ๐Ÿ“ฑ Mobile Testing: Test on actual devices or browser emulation
  • โ™ฟ Accessibility Testing: Screen readers, keyboard navigation, color contrast
  • ๐Ÿ”Š Audio Testing: TTS functionality across different browsers and devices

๐Ÿค– Automated Testing (Recommended Setup)

# Install testing dependencies
npm install --save-dev @testing-library/react @testing-library/jest-dom jest

# Run tests
npm test

Suggested Testing Libraries:

  • Jest - Unit testing framework ๐Ÿงช
  • React Testing Library - Component testing utilities ๐Ÿ”ฌ
  • Cypress - End-to-end testing ๐ŸŽฏ
  • Axe - Accessibility testing ๐Ÿฆฎ

๐Ÿ“Š Performance Testing

  • Lighthouse - Performance, accessibility, and SEO audits ๐Ÿš€
  • Web Vitals - Core web performance metrics ๐Ÿ“ˆ
  • Mobile Performance - Test on slower devices and networks ๐Ÿ“ถ

๐Ÿš€ Deployment

โ˜๏ธ Deploy on Vercel (Recommended)

Quick Deploy: Deploy with Vercel

Manual Deployment:

  1. ๐Ÿ“ค Push to Repository

    git add .
    git commit -m "Ready for deployment"
    git push origin main
  2. ๐Ÿ”— Connect to Vercel

    • Visit vercel.com/new
    • Import your GitHub/GitLab repository
    • Vercel will auto-detect Next.js configuration
  3. โš™๏ธ Environment Variables

    GROQ_API_KEY=your_groq_api_key
    OPENAI_API_KEY=your_openai_api_key
    NEXT_PUBLIC_APP_URL=https://your-app.vercel.app
  4. ๐ŸŽ‰ Deploy

    • Click Deploy button
    • Your app will be live in minutes!

๐ŸŒ Alternative Deployment Options

  • Netlify - Static site hosting with serverless functions ๐ŸŸข
  • Railway - Full-stack deployment platform ๐Ÿš‚
  • AWS Amplify - Scalable cloud hosting โ˜๏ธ
  • Docker - Containerized deployment ๐Ÿณ

๐Ÿ“ˆ Production Checklist

  • Environment variables configured ๐Ÿ”‘
  • Custom domain setup (optional) ๐ŸŒ
  • Analytics integration ๐Ÿ“Š
  • Error monitoring (Sentry, LogRocket) ๐Ÿ›
  • Performance monitoring ๐Ÿš€

๏ฟฝ Technical Notes & Architecture

๐Ÿ’พ Data Storage

  • LocalStorage: Favorites and custom phrases persist offline ๐Ÿ”„
  • Session Management: User preferences maintained across browser sessions
  • Data Privacy: All user data stays on device - no external storage ๐Ÿ”’

โ™ฟ Accessibility Features

  • WCAG 2.1 AA Compliant: Meets international accessibility standards โœ…
  • Screen Reader Support: Semantic HTML and ARIA labels ๐Ÿ”Š
  • Keyboard Navigation: Full functionality without mouse ๐ŸŽน
  • High Contrast Mode: Enhanced visibility options ๐ŸŒ“
  • Touch Accessibility: 44px minimum touch targets ๐Ÿ‘†

๐Ÿ—๏ธ Architecture Highlights

  • React 19: Latest React features with concurrent rendering โš›๏ธ
  • Next.js 15: App Router with server components ๐Ÿƒโ€โ™‚๏ธ
  • TypeScript: Type-safe development experience ๐Ÿ“
  • Tailwind CSS 4: Utility-first styling with modern features ๐ŸŽจ
  • Web Speech API: Native browser TTS integration ๐Ÿ—ฃ๏ธ

๐Ÿค Contributing

We welcome contributions from the community! Here's how you can help:

๐Ÿ› Bug Reports

Found a bug? Please open an issue with:

  • Clear description of the problem
  • Steps to reproduce
  • Expected vs actual behavior
  • Browser/device information

โœจ Feature Requests

Have an idea? Create a feature request with:

  • Detailed description of the feature
  • Use case and benefits
  • Mockups or examples (if applicable)

๐Ÿ”ง Pull Requests

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments

  • Web Speech API - For native browser TTS support ๐ŸŽค
  • Tailwind CSS - For beautiful, responsive styling ๐ŸŽจ
  • Next.js Team - For the amazing React framework ๐Ÿš€
  • Accessibility Community - For guidance on inclusive design โ™ฟ
  • Contributors - Thank you to everyone who helps improve SpeakEZ! ๐Ÿ‘ฅ

Made with โค๏ธ for the Specially-Abled Community

๐ŸŒŸ Star this repo โ€ข ๐Ÿ› Report Bug โ€ข ๐Ÿ’ก Request Feature


Empowering Communication, One voice at a time ๐Ÿ—ฃ๏ธโœจ

About

๐Ÿ“ฑ Speak-EZ is a mobile-first, free, and accessible web app designed to empower vocally disabled (mute) individuals ๐Ÿงโ€โ™‚๏ธ by enabling seamless communication through Text-to-Speech (๐Ÿ—จ๏ธ TTS), AI-powered smart suggestions ๐Ÿค–, and contextual phrase buttons ๐Ÿ”˜, along with a built-in Emergency SOS feature ๐Ÿšจ to ensure safety and support when it matters.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published