Skip to content
How I AIHow I AI

How a visually impaired engineer builds personal software with Claude Code + Wispr Flow

Joe McCormick is a principal software engineer at Babylist who lost most of his central vision due to a rare genetic disorder right before starting college. He pivoted from mechanical engineering to computer science and now leads AI enablement at Babylist. Joe demonstrates how he uses AI to build micro Chrome extensions that make his everyday work and life more accessible, showing how personal software can address accessibility needs that mainstream products often overlook. *What you’ll learn:* 1. How to build custom Chrome extensions in under 25 minutes using Claude Code 2. A practical workflow for creating AI-powered accessibility tools 3. How to use Claude Skills to accelerate repetitive development tasks 4. Techniques for making Claude Code more screen reader accessible 5. Why personal software is becoming increasingly viable with AI assistance 6. How multimodal AI is transforming accessibility for visually impaired users *Brought to you by:* Tines—Start building intelligent workflows today: https://tines.com/howiai *In this episode, we cover:* (00:00) Introduction to Joe and his background (02:34) Joe’s journey into computer science after vision loss (04:50) The concept of personal software for accessibility (06:09) Demo of image description Chrome extension for Slack (10:40) Demo of AI-powered spell checker extension (13:12) The efficiency of keyboard shortcuts for accessibility (14:37) Live building a link summarization extension (20:28) Using Claude Skills to extract common patterns (25:30) Reviewing and modifying the development plan (27:45) Removing cognitive friction for users through repeating patterns (31:40) How to get fluent with AI tools (34:55) Loading the extension into Chrome in developer mode (36:19) Testing and debugging the extension (40:44) Quick recap (42:12) Lightning round and final thoughts *Detailed workflow walkthroughs from this episode:* • How I AI: Building Custom AI Accessibility Tools for Slack with Joe McCormick & Claude Code: https://www.chatprd.ai/how-i-ai/custom-ai-accessibility-tools-for-slack-claude-code • Build a Slack Link Summarizer from Scratch using Claude Code: https://www.chatprd.ai/how-i-ai/workflows/slack-link-summarizer-using-claude-code • Create a Fast, Accessible AI Spell Checker for Any Website: https://www.chatprd.ai/how-i-ai/workflows/accessible-ai-spell-checker-for-any-website • Build a Custom AI Tool to Describe Images in Slack: https://www.chatprd.ai/how-i-ai/workflows/ai-tool-to-describe-images-in-slack *Tools referenced:* • Claude Code: https://claude.ai/code • VS Code: https://code.visualstudio.com/ • Gemini: https://gemini.google.com/ • ChatGPT: https://chat.openai.com/ • Meta Ray-Ban Smart Glasses: https://www.meta.com/smart-glasses/ *Other references:* • Chrome Extensions Documentation: https://developer.chrome.com/docs/extensions/ • ARIA (Accessible Rich Internet Applications): https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA • Windows Subsystem for Linux: https://learn.microsoft.com/en-us/windows/wsl/ • Screen Readers: https://www.afb.org/blindness-and-low-vision/using-technology/assistive-technology-products/screen-readers • Claude Skills explained: How to create reusable AI workflows:https://www.lennysnewsletter.com/p/claude-skills-explained *Where to find Joe McCormick:* LinkedIn: https://www.linkedin.com/in/joemccormickjr/ Company: https://www.babylist.com/ *Where to find Claire Vo:* ChatPRD: https://www.chatprd.ai/ Website: https://clairevo.com/ LinkedIn: https://www.linkedin.com/in/clairevo/ X: https://x.com/clairevo _Production and marketing by https://penname.co/._ _For inquiries about sponsoring the podcast, email jordan@penname.co._

Joe McCormickguestClaire Vohost
Feb 16, 202649mWatch on YouTube ↗

CHAPTERS

  1. Losing central vision—and how AI changed what’s possible

    Joe McCormick shares how he lost most of his central vision to Leber’s hereditary optic neuropathy right before college, and how today’s AI tools dramatically reduce the friction of daily life and work. He frames AI as a gap-closer between sighted and visually impaired software engineers and as a major accelerant for accessibility.

    • Background on Leber’s hereditary optic neuropathy and its impact on Joe’s vision
    • Shift from mechanical/robotics interests to computer science after accessibility challenges
    • AI tools (Gemini/ChatGPT) make tasks easier than older magnifiers/glasses workflows
    • AI narrows the productivity gap for visually impaired engineers
    • Personal enthusiasm for wearable/assistive tech (e.g., Meta glasses)
  2. Why micro “personal software” matters for accessibility

    Claire and Joe discuss the underappreciated benefit of AI: enabling people to build highly customized tools for themselves when the market wouldn’t fund niche accessibility products. Joe positions micro-apps as fast-to-build, high-ROI solutions that match an individual’s specific workflow.

    • Accessibility tooling often isn’t economically incentivized to be built at scale
    • AI enables individualized solutions tailored to unique needs and strengths
    • Micro tools reduce ongoing friction and dependence on others
    • Personal software’s ROI is now viable because build time has collapsed
    • Joe’s focus: building small Chrome apps that integrate into daily work
  3. Chrome extensions vs AI-native browsers: the “drill” vs “Swiss Army knife”

    Joe explains why he prefers targeted Chrome extensions over all-in-one AI browsers for certain tasks. Purpose-built extensions can be faster and more reliable for specific workflows, especially when triggered by quick keyboard shortcuts.

    • AI-native browsers are powerful but can be slower for repeated micro-tasks
    • Specialized tools win when latency and simplicity matter
    • Chrome extensions offer precise control over UX and triggers
    • Keyboard shortcuts are central to speed and accessibility
    • Slack-in-browser becomes a practical surface for customization
  4. Demo: Slack image-description shortcut with follow-up Q&A

    Joe demonstrates a Slack-focused tool that describes images on demand, avoiding tedious zooming and manual parsing. The extension not only generates an image description but also supports conversational follow-ups for deeper context.

    • Uses a Slack keyboard shortcut (Ctrl+Shift+D) to describe images
    • Helps avoid heavy reliance on 10x zoom/magnification workflows
    • Returns a concise “gist” of the image (e.g., stroller/car seat details)
    • Enables follow-up questions (e.g., “What age child is this for?”)
    • Reduces the need to ask colleagues to explain visual content
  5. Extending the idea to Figma: interpreting UI designs faster

    Joe previews a similar concept for Figma: describing selected nodes with prompts tailored to engineering needs. The goal is to reduce the click-heavy process of extracting design details and make design reviews more efficient and accessible.

    • Figma extension concept: explain any node via a single shortcut
    • Prompt focuses on actionable UI specs (colors, CTAs, design intent)
    • Supports Joe’s full-stack workflow by reducing context-switching
    • Avoids multi-step navigation through design inspector panels
    • Highlights AI’s role in translating visual structure into usable text
  6. Demo: universal spell-check shortcut optimized for screen readers

    Joe shows an extension that spell-checks text in any web input field using a single shortcut. Unlike many tools (e.g., Grammarly), it’s designed to be screen-reader accessible and to preserve the writer’s wording while fixing only typos.

    • Keyboard shortcut (Ctrl+Shift+S) sends text to OpenAI for typo fixes
    • Screen reader announces progress (“processing” / “complete”)
    • Prompt is constrained: “Do not change words, only fix typos”
    • Works inside Slack-in-Chrome and across web input fields
    • Motivation: fewer clicks, no context-switching, better accessibility
  7. From manual workflows to automation: collapsing the “payback period”

    Joe and Claire unpack why these micro-tools are worth building now: they save minutes daily and take minutes to create. Joe describes iterating from clunky workflows (copying into ChatGPT) to embedded, one-keystroke actions that keep him in flow.

    • Early version used ChatGPT mini window; improved version works in-place
    • AI makes small daily savings worth automating (minutes/day vs days to build)
    • “Latency is the killer feature” in UX for AI tools
    • Building in the environment where work happens improves adoption
    • Repeated patterns make each new tool faster to create than the last
  8. Building a Slack link summarizer: defining the problem and desired UX

    Joe proposes a new extension: summarize external links posted in Slack so he can decide quickly whether to read or ignore. The design goal is a sub-10-second workflow that replaces “save for later” accumulation with immediate triage.

    • Trigger on a focused Slack message with Ctrl+Shift+1
    • Detect and extract external links from the message
    • Fetch article content, summarize, and return 3–5 key takeaways
    • Present results in a screen-reader-accessible modal with title + link
    • Goal: reduce end-of-week backlog and decision fatigue
  9. Drafting the PRD by voice in VS Code (and why it works)

    Joe dictates a lightweight PRD using VS Code’s Copilot audio, then reviews and refines it. The PRD emphasizes privacy, speed, and accessibility, illustrating how AI helps engineers produce solid product documentation quickly.

    • Uses voice dictation (Ctrl+I) to generate the PRD quickly
    • Reviews requirements in-document rather than diff view (screen reader-friendly)
    • Adds specifics: hidden tabs, content extraction, OpenAI summarization
    • Requires accessible modal output (ARIA roles, focus handling)
    • Demonstrates “no lanes”: engineers can produce PRDs with AI support
  10. Scaffolding with Claude Code + a Chrome-extension “Skill”

    Joe uses Claude Code in planning mode and invokes a custom Claude Skill derived from prior extensions to standardize patterns. He also explains accessibility-oriented workflow tweaks, like editing prompts in an editor and using audible cues for required input.

    • Uses a reusable Claude Skill built from patterns across earlier extensions
    • Edits prompts/plans via Ctrl+G in a text editor for better navigation
    • Adds a hook to play a sound when Claude needs user input
    • Avoids exposing secrets; uses tooling (e.g., jq) to keep keys hidden
    • Symlinks shared config so all extensions reuse one API-key config safely
  11. Loading the extension in Chrome Developer Mode and first test run

    Joe loads the unpacked extension locally via Chrome Developer Mode and refreshes Slack to activate it. The first attempt works functionally but renders the output as raw JSON, prompting a quick iteration cycle.

    • Chrome Developer Mode enables local, unpacked extension installation
    • Refresh required for Slack tab to pick up the new extension build
    • Shortcut test (Ctrl+Shift+1) triggers summarization pipeline
    • Initial result displays JSON instead of formatted UI
    • Sets up a fast feedback loop for refinement
  12. Debugging fast: screenshot-to-Claude, response formatting fix, successful demo

    Joe captures a screenshot of the broken UI and sends it back to Claude Code using a custom slash command (bridging Windows clipboard to WSL). He adjusts the OpenAI response handling to return structured JSON correctly and re-tests successfully, producing clean takeaways in an accessible modal.

    • Custom “paste image” command solves WSL clipboard limitations
    • Uses screenshot feedback to pinpoint UI/formatting issue quickly
    • Fix involves changing response handling so JSON is parsed/structured properly
    • One-click extension reload in Chrome speeds iteration
    • Final output: readable key takeaways + title/link, screen-reader accessible modal
  13. Lightning round: MCPs, accessibility, and the promise of multimodal AI

    Joe shares how MCPs can reduce tool-switching and improve accessibility by pulling content into simpler formats like markdown. He also highlights a deeply personal multimodal win: using Gemini’s live features to “read” kids’ books page-by-page, transforming a painful limitation into a shared family experience.

    • MCPs help centralize work and avoid jumping across multiple UIs
    • Some enterprise tools are surprisingly accessible (e.g., Google Docs)
    • Complex surfaces (e.g., Notion) can be easier via markdown extraction
    • Multimodal highlight: Gemini live sharing reads children’s books page-by-page
    • Emotional impact: turning “Sorry, I can’t” into “Sorry, I can” for story time
  14. Prompting and iteration philosophy + where to find Joe

    Joe explains his pragmatic strategy when AI gets stuck: reset context and restart with distilled learnings rather than endlessly “massaging” a broken thread. The episode closes with Joe sharing how to connect with him and noting Babylist hiring for AI-forward engineering roles.

    • When stuck, clear context and start fresh with lessons learned
    • Avoids over-tweaking a poisoned conversation thread
    • Reinforces distinction between personal tools vs production-quality engineering
    • Babylist hiring (Ruby on Rails + React) for AI-enabled builders
    • Joe available on LinkedIn for accessibility and Chrome extension questions

Get more out of YouTube videos.

High quality summaries for YouTube videos. Accurate transcripts to search & find moments. Powered by ChatGPT & Claude AI.