DocPilot is a Flutter application designed to assist healthcare providers in recording, transcribing, and analyzing doctor-patient conversations. It leverages voice recognition, natural language processing, and AI to streamline medical documentation workflows.
- Voice Recording: Capture doctor-patient conversations with a simple, intuitive interface
- Real-time Voice Transcription: Convert spoken conversations to text using Deepgram's Nova-2 model
- AI-Powered Analysis: Process transcribed conversations with Google's Gemini to generate:
- Conversation summaries
- Prescription suggestions
- Elegant UI: Beautiful gradient design with animated waveform visualization
- Export & Share: Save and share prescriptions with patients or other healthcare providers
- Flutter SDK (latest version recommended)
- Dart SDK
- Android Studio / VS Code with Flutter extensions
- API keys for:
- Deepgram (for speech-to-text)
- Google Gemini (for AI processing)
-
Clone the repository:
git clone https://github.com/yourusername/docpilot.git cd docpilot
-
Install dependencies:
flutter pub get
-
Create a
.env
file in the root directory with your API keys:DEEPGRAM_API_KEY=your_deepgram_api_key GEMINI_API_KEY=your_gemini_api_key
-
Run the app:
flutter run
lib/
├── main.dart # App entry point and main screen
├── screens/
│ ├── transcription_detail_screen.dart # Displays raw transcription
│ ├── summary_screen.dart # Displays AI-generated summary
│ ├── prescription_screen.dart # Displays AI-generated prescription
└── services/
└── chatbot_service.dart # Handles Gemini API integration
- Recording: The app uses the
record
package to capture audio from the device's microphone. - Transcription: Recorded audio is sent to Deepgram's API for accurate speech-to-text conversion.
- AI Processing: The transcription is sent to Google's Gemini AI for:
- Generating a concise summary of the medical conversation
- Creating a prescription based on the conversation content
- Visualization: Results are displayed in separate screens with Markdown formatting for better readability.
- Export: Prescriptions can be saved and shared with the patient via various apps.
flutter_dotenv
: For managing environment variablesrecord
: For audio recordingpath_provider
: For file managementpermission_handler
: For handling device permissionshttp
: For API requestsflutter_markdown
: For rendering formatted textshare_plus
: For sharing functionality
The app requires the following permissions:
- Microphone: For recording audio
- Storage: For saving prescriptions (Android)
You can customize the app by:
- Modifying the theme colors in
main.dart
- Adjusting the recording parameters in the
_startRecording()
method - Changing the Gemini prompts in the
_processWithGemini()
method to get different outputs
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Deepgram for speech-to-text capabilities
- Google Gemini for AI processing
- Flutter team for the amazing framework
- Multi-language support
- Patient history integration
- Cloud synchronization
- Custom AI model fine-tuning for medical terminology
- Appointment scheduling integration
- Medical image analysis