Duolingo ASL: Engineering non-verbal language learning into a verbal-centric app

Deliverables


Concept Development

Product Design

Computational Logic

Prototype Production



Tech Stack


Figma

Blender

Python

Euler Kinematics

Systems Logic

The Brief:


Duolingo dominates spoken-language learning, yet a massive blind spot remains: non-verbal languages. If universal accessibility is truly the mission, this audio-centric gap cannot stay ignored.



Duolingo ASL challenges the platform to expand beyond speech. 1.5B people worldwide experiencing hearing loss and 430M with disabling hearing loss, this isn’t edge-case accessibility—it’s a global, untapped market.



The Goal:


To engineer a scalable framework for non-verbal linguistics within the Duolingo ecosystem, ensuring "universal accessibility" includes the billions currently excluded by audio-only models.



The solution


This project proves how non-verbal languages can live inside Duolingo’s ecosystem at scale. They have the tech power; I bring the pressure.

Duolingo Bird

ASL belongs in the core of Duolingo—not on the edge.



Duolingo ASL user interface design mockup

While Duolingo leverages sophisticated tools like Rive and AI for character systems, the structural requirements of ASL demand a specialized logic that is currently absent. I identified this technical gap and developed a solution that maps ASL linguistics to their existing motion pipeline. This project isn't just an exploration, it is a roadmap for executing high-fidelity, non-verbal language learning at scale.

Duolingo ASL Lin Sign My Name What in ASL Sprite Sheet

The Challenge: Designing for Constraint



Duolingo uses a highly reductive design language optimized for Rive and rapid animation. However, ASL cannot function with the "3 or 4-finger" hands common in stylized animation (like The Simpsons or Family Guy). ASL requires five-finger articulation for linguistic accuracy, which initially seemed at odds with Duolingo's hyper-simplified character system. The Realization: Engineering within Guidelines I identified a critical directive in the Brand Guidelines:

"If you need to show fingers, display the bare minimum needed for the pose."

Duolingo Hand Guidelines

This "bare minimum" clause provided the technical freedom to introduce a five-finger rig. By proving that five fingers were the functional minimum for ASL legibility, I was able to integrate a complex skeletal system into a minimalist brand ecosystem without violating its core design principles.

The Solution: User-Centric Engineering



I iteratively refined the hand geometry to honor the brand’s visual identity while optimizing for readability. By prioritizing anatomical clarity over decorative detail, I ensured each sign is immediately decipherable for learners.

The Technical Execution: Bridging Design & Engineering



Rather than relying on manual animation, I engineered a functional system that translates raw text into mechanical motion. By abstracting Blender’s rigging methods into a library of reusable, logic-driven Python functions, I transformed a creative vision into a scalable technical asset.

Putting the engineering hat on

In my Duolingo ASL project, I leveraged Python to bridge the gap between creative design and technical execution. Rather than relying on traditional animation techniques, I engineered a functional system that translates raw text into mechanical motion. This required a deep dive into Blender’s rigging methods, which I successfully abstracted into a set of reusable, logic-driven functions.

Code Architecture

Automated Data Mapping

The ASL fingerspelling system utilizes a Python-driven automation pipeline to map linguistic inputs to 3D skeletal transforms. Each character is assigned a unique set of XYZ Euler rotation constants, which the script uses to procedurally rig the character on the Blender timeline. This transforms raw text strings into a sequenced kinematic simulation without manual keyframing.

Conditional Movement & Patterns

To ensure phonetic accuracy, the script includes conditional logic handlers to manage specific ASL grammatical rules, such as "double-letter" repetition (e.g., "DD" or "LL"). When the script detects consecutive identical characters, it triggers a secondary animation function—a programmed Y-axis oscillation or "bounce." This demonstrates the ability to translate complex, rule-based human movement into a functional algorithmic response.

System Initialization

To maintain the integrity of the 3D model, the script implements a Global Reset State between each character. This function clears the previous XYZ Euler data sets to prevent additive rotation errors (where new data builds on top of the old, causing the rig to "break"). By returning the skeletal structure to an idle "Zero Pose," the script ensures a clean baseline for every new linguistic input and creates a natural rhythmic pause between signs.

Results

High Social Validation



This Duolingo ASL concept generated a huge response on LinkedIn. Thousands of people expressing that they want this to become a real feature.



8k+ reactions

149 reposts

243 comments

Industry leaders and peers responded enthusiastically:



View the full post

Reflections

Growth Opportunities

Design that moves the business forward

This project pushed me beyond UI and into actual business thinking. Inclusive design isn’t just ethically important—done right, it creates revenue opportunities and strengthens long-term retention.

Through this case study, I explored how Duolingo could add ASL as a sustainable new learning track without disrupting the core experience.

Business + Empathy = Results

By combining community insights with thorough research, this project shows how a carefully crafted creative brief can create lasting impact—not just a one-off idea.

Next Project

Apple Live Captions — A unified approach to accessibility across all Apple devices.