How tortextrx/meetrec works
MeetRec is an Android meeting-capture app: users record a meeting, then request a timestamped Whisper transcript, an executive summary with agreements and assigned actions, and a locally generated, shareable PDF. The graph follows the documented workflow and includes history, API-key/model settings, and background recording. Edges are limited to calls visible in excerpts or relationships documented in the README; uninspected implementations are represented only where the tree or README supports them.
Main entry points: MeetingDetailScreen.kt Meeting details · TranscriptionService.kt Whisper transcription · SummaryService.kt AI summarization · RecordingService.kt Background recorder
Components 20
Meeting capture
- Background recorder
app/src/main/java/com/meetrec/app/service/RecordingService.kt - Audio capture
app/src/main/java/com/meetrec/app/data/audio/AudioRecordEngine.kt - WAV segments
app/src/main/java/com/meetrec/app/data/audio/WavAudioWriter.kt - Audio level meter
app/src/main/java/com/meetrec/app/ui/components/VuMeter.kt
Transcript and summary
- Whisper transcription
app/src/main/java/com/meetrec/app/data/remote/TranscriptionService.kt - AI summarization
app/src/main/java/com/meetrec/app/data/remote/SummaryService.kt
Meeting records
- Meeting session
app/src/main/java/com/meetrec/app/data/model/MeetingSession.kt - Meeting repository
app/src/main/java/com/meetrec/app/data/repository/MeetingRepository.kt - Timestamped transcript
app/src/main/java/com/meetrec/app/data/model/MeetingTranscript.kt - Summary and actions
app/src/main/java/com/meetrec/app/data/model/MeetingSummary.kt
Screens and export
- App navigation
app/src/main/java/com/meetrec/app/MainActivity.kt - Recorder screen
app/src/main/java/com/meetrec/app/ui/recorder/MeetingRecorderScreen.kt - Meeting history
app/src/main/java/com/meetrec/app/ui/history/MeetingListScreen.kt - Meeting details
app/src/main/java/com/meetrec/app/ui/detail/MeetingDetailScreen.kt - Native PDF generator
app/src/main/java/com/meetrec/app/pdf/NativePdfGenerator.kt
App settings
- API key dialog
app/src/main/java/com/meetrec/app/ui/components/ApiKeyDialog.kt - Local settings
app/src/main/java/com/meetrec/app/data/repository/SettingsRepository.kt
Other components
- Meeting user
- OpenRouter API
- PDF viewer or share
Connections 29
- Meeting user → App navigation: opens app
app/src/main/java/com/meetrec/app/MainActivity.kt - App navigation → Recorder screen: shows
app/src/main/java/com/meetrec/app/MainActivity.kt - App navigation → Meeting history: shows
app/src/main/java/com/meetrec/app/MainActivity.kt - App navigation → Meeting details: opens selection
app/src/main/java/com/meetrec/app/MainActivity.kt - Meeting user → Recorder screen: starts recording
app/src/main/java/com/meetrec/app/ui/recorder/MeetingRecorderScreen.kt - Recorder screen → Background recorder: starts or stops
app/src/main/java/com/meetrec/app/ui/recorder/MeetingRecorderScreen.kt - Background recorder → Audio capture: controls capture
app/src/main/java/com/meetrec/app/service/RecordingService.kt - Audio capture → WAV segments: writes samples
app/src/main/java/com/meetrec/app/data/audio/AudioRecordEngine.kt - Audio capture → Background recorder: reports segments
app/src/main/java/com/meetrec/app/service/RecordingService.kt - Recorder screen → Audio level meter: renders levels
app/src/main/java/com/meetrec/app/ui/recorder/MeetingRecorderScreen.kt - Background recorder → Meeting repository: saves session
app/src/main/java/com/meetrec/app/service/RecordingService.kt - Background recorder → Meeting session: creates session
app/src/main/java/com/meetrec/app/service/RecordingService.kt - Meeting history → Meeting repository: loads meetings
app/src/main/java/com/meetrec/app/ui/history/MeetingListScreen.kt - Meeting details → Meeting repository: loads meeting data
app/src/main/java/com/meetrec/app/ui/detail/MeetingDetailScreen.kt - Meeting user → Meeting details: requests transcript or summary
app/src/main/java/com/meetrec/app/ui/detail/MeetingDetailScreen.kt - Meeting details → Whisper transcription: transcribes audio
app/src/main/java/com/meetrec/app/ui/detail/MeetingDetailScreen.kt - Whisper transcription → OpenRouter API: uploads audio
app/src/main/java/com/meetrec/app/data/remote/TranscriptionService.kt - Whisper transcription → Meeting repository: saves transcript
app/src/main/java/com/meetrec/app/data/remote/TranscriptionService.kt - Whisper transcription → Timestamped transcript: builds transcript
app/src/main/java/com/meetrec/app/data/remote/TranscriptionService.kt - Meeting details → AI summarization: generates summary
app/src/main/java/com/meetrec/app/ui/detail/MeetingDetailScreen.kt - AI summarization → OpenRouter API: requests summary
app/src/main/java/com/meetrec/app/data/remote/SummaryService.kt - AI summarization → Meeting repository: saves summary
app/src/main/java/com/meetrec/app/data/remote/SummaryService.kt - AI summarization → Summary and actions: parses result
app/src/main/java/com/meetrec/app/data/remote/SummaryService.kt - Meeting details → Native PDF generator: generates report
README.md - Native PDF generator → PDF viewer or share: opens or shares
README.md - Meeting user → API key dialog: enters API key
README.md - API key dialog → Local settings: saves settings
app/src/main/java/com/meetrec/app/ui/components/ApiKeyDialog.kt - Whisper transcription → Local settings: reads API key
app/src/main/java/com/meetrec/app/data/remote/TranscriptionService.kt - AI summarization → Local settings: reads model and key
app/src/main/java/com/meetrec/app/data/remote/SummaryService.kt