Personal projectC# / .NETApplied AI
Real-Time Speech Transcription & Knowledge Assistant
A personal Windows desktop application combining speech transcription, local document retrieval, and source-linked responses through asynchronous communication.
Desktop application architecture
- C#
- Windows Forms
- .NET 4.8
- Framework
- Audio transcription
- Local document index
- Source-linked responses
- Cancellation & UI updates
Implementation overview · Personal project
Summary
Project context
Independently developed a Windows Forms application that connects audio processing and document search with a responsive desktop interface.
Problem / goal
Audio streams, document processing, and remote responses arrive at different speeds. The desktop application needed to coordinate them while keeping the interface responsive and supporting cancellation.
My role
Sole developer of a personal C#/.NET Framework desktop project.
My contributions
- Built the Windows Forms interface and separated coordination, local retrieval, and remote client responsibilities.
- Integrated NAudio/WASAPI audio capture, resampling, WebSocket transcription, and an HTTP segment fallback when connection startup fails.
- Implemented PDF, DOCX, and PPTX text extraction with content hashes, incremental local indexing, and bounded retrieval of source snippets.
- Connected retrieved context to streamed responses over HTTP/SSE and coordinated background tasks using cancellation, SemaphoreSlim, and UI-thread updates.
Technical approach
- Keep audio, retrieval, and response clients behind separate interfaces so orchestration can manage lifecycle and cancellation.
- Use source snippets and references to connect generated responses back to local documents.
- Bound concurrent work and marshal UI changes onto the Windows Forms thread.
Key features
- Real-time transcription with a connection fallback
- Local PDF / DOCX / PPTX retrieval
- Source-linked streamed responses
- Cancellation and bounded background work
Impact / results
- Implemented the desktop, audio, retrieval, and asynchronous communication paths in a personal application.
- Source review supports the implementation described here; no measured answer-accuracy, throughput, user-count, or test-pass result is published.
What I learned
- Cancellation and resource disposal matter across every stage of an asynchronous desktop workflow.
- Source references make answers easier to inspect, while answer quality still requires separate evaluation.