Skip to content

abdullah-khudher/speech_summary_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 Speech Summary – Live Voice-to-Text Summarizer Powered by OpenAI

Flutter CI

πŸŽ™οΈSpeech Summary is a Flutter application that transcribes live speech and uses OpenAI's GPT API to generate concise summaries.
Ideal for meetings, spontaneous ideas, or simplifying long speeches into focused insights.

GitHub stars GitHub forks License: MIT

πŸ“š Table of Contents


πŸ“± Features

  • 🎀 Live speech-to-text transcription
  • πŸ€– AI-powered summarization via OpenAI
  • πŸ” Mic permission management
  • πŸ§ͺ Fake Summary mode for testing without API keys
  • 🧼 Clean Architecture with modular layers
  • 🌐 Built-in .env support for secure API key storage
  • 🧘 Ideal for meetings, lectures, spontaneous ideas, or simplifying long speeches

🧰 Tech Stack

  • Flutter & Dart
  • BLoC for state management
  • Clean Architecture pattern
  • Speech-to-Text via speech_to_text
  • Microphone permissions via permission_handler
  • HTTP networking with Dio
  • Environment config via flutter_dotenv
  • Dependency Injection with get_it
  • Functional programming with dartz

πŸŽ₯ Demo Preview

Below are short demos showcasing the app's core functionality and UI behavior.

πŸŽ™οΈ From Recording to Summary

Watch how the app records live speech, then generates a smart summary using OpenAI.

GIF showing real-time speech recording and summarization

πŸ§ͺ Fake Summary Mode

This mode allows you to demo the app without an API key.
Clicking Test Fake Summary will show a mock input and summary β€” ideal for UI tests or presentations.

This feature is also demonstrated in the demo preview below.

GIF showing Fake Summary mode being triggered for demo or testing


🌐 Live Demo & CI/CD

This project uses full CI/CD automation:

  • βœ… CI: Static code analysis and tests via GitHub Actions
  • πŸš€ CD: Automatic deployment of the web version to GitHub Pages after every push to main

πŸ‘‰ Try the live web version here:
https://abdullah-khudher.github.io/speech_summary_app/


πŸš€ Getting Started

Prerequisites

  • Flutter SDK
  • A physical Android or iOS device (for mic access)

1. Clone the Repository

git clone https://github.com/abdullah-khudher/speech_summary_app.git
cd speech_summary_app

2. Add API Keys

Create a .env file in the root directory:

OPENAIAPIKEY=your_openai_api_key_here
BASEURL=https://api.openai.com/v1/

βœ… .env is already in .gitignore.

3. Install Dependencies

flutter pub get

4. Run the App

flutter run

πŸ“± Note: Use a real device to test microphone functionality.


πŸ§ͺ Running Tests

The project includes comprehensive testing to ensure app stability:

  • βœ… Unit & Widget Tests
    Located under /test/
    Run using:
flutter test
  • βœ… Integration Tests Located under /integration_test/ – these simulate full user flows. Run using:
flutter test integration_test/

ℹ️ Integration tests may require a real device or emulator, and proper setup of the integration_test package.


βœ… TODOs & Future Improvements

  • 🌐 Support transcription in multiple languages
  • πŸ“€ Add sharing and export options for summaries
  • πŸ“΄ Implement offline speech recognition fallback
  • πŸ”Š Add text-to-speech for generated summaries
  • βœ‚οΈ Automatic segmentation of long speech input
  • πŸ’¬ Show real-time transcription confidence levels

🀝 Contributions

Pull requests are welcome. For major changes, please open an issue first.


πŸ“„ License

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


## πŸ‘¨β€πŸ’» Development Notes

This project was fully designed, developed, and CI/CD-integrated by Abdullah Khudher as part of a hands-on portfolio to demonstrate expertise in clean architecture, AI integration, and production-grade Flutter tooling.

🧠 Author

Abdullah Khudher
GitHub Profile

About

A Flutter app for real-time speech transcription and smart summarization using OpenAI GPT. Built with BLoC, CI/CD, and web deployment.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors