Meeting App
Make a complex processing pipeline feel understandable and recoverable.
Visit the live site
The problem
Meeting knowledge is easily lost between raw recordings, incomplete notes, language needs, and disconnected files. An AI feature alone does not solve that—the complete workflow has to remain understandable when processing is slow or fails.
The response
I led the React Native implementation across recording, audio processing, transcription, structured report generation, local history, playback, retry, passcode protection, and document export.
Decisions that shaped the product
- 01
A visible, retryable pipeline
Recording, transcription, cleanup, generation, and commit are explicit stages. The app retains enough state to retry from the failed step instead of starting over blindly.
- 02
History is a product feature
Audio, cleaned transcripts, language-specific reports, and metadata persist as one meeting record so generated knowledge remains usable beyond the first result screen.
- 03
External AI limits stay visible
Model fallback handles recoverable quota responses, but the product does not pretend it can overcome project-wide quota, billing, regional, or transcription-accuracy limits.
Implemented evidence
- React Native Android application with local SQLite history and secure device key storage.
- Recording, chunking, transcription, report generation, audio playback, and PDF/DOCX export flows.
- Compatible parsing for multilingual report formats across historical and current records.
- Navigation, lock-state, safe-area, retry, and performance corrections backed by tests and CI checks.
- Code For Chad publicly presented Meeting as a locally developed solution, named Amdjad Aboubakar as its developer, and linked to the online demo.
Current limits
- The application is not presented as a public production release.
- Transcription and report quality depend on audio conditions and external services.
- Model fallback improves resilience but cannot manufacture unavailable provider quota.
Reliable AI products are mostly about the system around the model: clear stages, saved state, compatible data, honest errors, and a useful path when an external service cannot continue.