{"slug": "building-access-learn-ai-turning-lectures-into-text-summaries-audio-and-braille", "title": "Building Access Learn AI: Turning Lectures into Text, Summaries, Audio and Braille", "summary": "A developer built AccessLearnAI, a single pipeline that converts an uploaded lecture into a transcript, concise summary, spoken audio, and Braille output, chaining Whisper for speech-to-text, T5 for summarization, edge-tts for text-to-speech, and a Braille generation stage behind FastAPI endpoints. Deploying the backend to Render's free tier repeatedly ran out of memory because Whisper and T5 were loaded simultaneously, exceeding the tier's limit. The developer's takeaway is that a model working locally can still be unusable in production, so memory must be managed as carefully as code.", "body_md": "A lecture is one of the most common ways we learn, and one of the least accessible. A student who is deaf can't follow the audio. A student who is blind can't read the slides. A student with a cognitive or attention difficulty may struggle with a 60-minute recording and no summary.\n\nAccessibility tools exist for each of these problems, but they are usually separate products. I wanted to see how far one pipeline could go, so I built **AccessLearnAI**: upload a lecture, and get back a transcript, a concise summary, spoken audio, and Braille output.\n\nThis post covers how it's built, the problems I ran into, and what I'd change.\n\nStudents need different formats of the same content. So instead of building one feature per disability, I built one pipeline that produces every format from a single input:\n\n**Whisper (speech to text) → T5 (summarization) → edge-tts (text to speech) → Braille generation**\n\nEach stage feeds the next:\n\nThe system is split into three layers:\n\nI used Fast API because the ML code is in Python, and it let me expose each pipeline stage as a clean API endpoint without a translation layer between the models and the web service.\n\nThe pipeline works fine on a development machine. Production was a different problem.\n\nWhen I deployed the backend to Render's free tier, it kept running out of memory. The cause was that Whisper and T5 were both loaded into memory at the same time, and together they went over the free tier's limit.\n\nThis was a useful lesson \n\nA model that works locally can still be unusable in production because of resource limits. Deploying an ML system means managing memory as carefully as you manage code.", "url": "https://wpnews.pro/news/building-access-learn-ai-turning-lectures-into-text-summaries-audio-and-braille", "canonical_source": "https://dev.to/vishal_mundewadi_56l/building-access-learn-ai-turning-lectures-into-text-summaries-audio-and-braille-4a8k", "published_at": "2026-10-18 07:05:04+00:00", "updated_at": "2026-10-18 07:14:42.246024+00:00", "lang": "en", "topics": ["artificial-intelligence", "machine-learning", "ai-tools", "natural-language-processing"], "entities": ["AccessLearnAI", "Whisper", "T5", "edge-tts", "FastAPI", "Render"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/building-access-learn-ai-turning-lectures-into-text-summaries-audio-and-braille", "markdown": "https://wpnews.pro/news/building-access-learn-ai-turning-lectures-into-text-summaries-audio-and-braille.md", "text": "https://wpnews.pro/news/building-access-learn-ai-turning-lectures-into-text-summaries-audio-and-braille.txt", "jsonld": "https://wpnews.pro/news/building-access-learn-ai-turning-lectures-into-text-summaries-audio-and-braille.jsonld"}}