Torus Design System & Accessibility

Building a scalable, inclusive foundation for OLI’s learning ecosystem
Overview
Led Torus’s system overhaul to replace reactive accessibility patches with a documented, state-driven design system. By auditing production gaps and benchmarking industry leaders, I established a "Golden Standard" for 11 core components—making WCAG 2.1 AA compliance a structural default.
Role
Product Designer (Systems)
Context
Open Learning Initiative (Internship)
Timeline
Sep – Dec 2025
Skills & Tools
Figma, WCAG 2.1 AA, Systems Thinking, Stark
The challenge

Building an accessible foundation from scratch

Torus was undergoing a critical audit to meet WCAG 2.1 AA standards—a non-negotiable requirement for OLI’s  mission to serve all learners. While the team was revamping the interface, they lacked a standardized foundation. Without a shared library, every accessibility fix was a manual, one-off effort that led to inconsistent results and mounting technical debt.

I had a strict 2-month window to architect this entire system before my internship ended. My goal was to move beyond temporary patches and establish "Compliance by Default." Success meant creating structural readiness: 100% documentation coverage and a shared language to resolve existing keyboard navigation barriers and semantic confusion.

Research & Discovery

Fragmentation is a technical barrier to inclusion

I investigated why accessibility was failing at scale by auditing our production UI against the Figma library, focusing on the student experience while ensuring consistency for instructors and authors.

  • Internal Systems Audit: I found dozens of "shadow components"—inconsistent elements built on the fly because the legacy system was too minimal.
  • Industry Benchmarking: I studied leaders like IBM Carbon and Salesforce Lightning to understand how they documented keyboard patterns and ARIA roles.

Key Insights:

  • Accessibility is a structural failure, not a visual one. My audit showed that simply fixing colors wasn't enough; the underlying architecture was broken. ARIA labels were inconsistent, and the keyboard tab order was often illogical, making many elements entirely unreachable for students using assistive technology.
  • The "Source of Truth" vacuum. Because the legacy system lacked usage guidance, developers were forced to make isolated decisions. This led to semantic confusion—where links and buttons were used interchangeably—which compromised the user's mental model and made the platform unpredictable.
A split-screen infographic visualizing a design system failure. The left side displays messy, ad-hoc buttons from the live site. A broken arrow points to the right side, showing an empty Figma library missing those components and accessibility guidelines.
An audit comparison revealing the "fragmentation gap" between inconsistent production UI and the incomplete legacy library.
Design & Iteration

Building a predictable foundation from the atoms up

I used Atomic Design to prioritize the fundamental building blocks that make complex forms and dashboards possible.

An infographic illustrating the Atomic Design process. On the left, isolated UI components labeled "Atoms" are shown. An arrow points to the right, where these same components are assembled into a complete "Settings Form" labeled "Organism."
Visualizing how prioritizing fundamental "Atoms" allowed us to quickly build complex "Organisms" like settings forms.

Solving the Semantic Divide

I established a strict rule-set to fix the confusion between buttons (actions) and links (navigation). By standardizing these roles, I ensured that every interaction—like using a "Pill" for secondary actions—provides a consistent experience for both visual and screen-reader users.

Side-by-side wireframes showing buttons used for actions and links used for page navigation.
Differentiating between in-page actions and site-wide navigation.
Spec sheet for the Pill button showing interactive states for its active and inactive modes.
Standardizing the Pill toggle through a full set of interactive states.

Architecting Navigation Logic

I built the logic for Pagination and Breadcrumbs from scratch. I specifically designed how the system handles long content paths (overflow/ellipsis), ensuring students navigating via keyboard never lose their place in the course.

An infographic illustrating three pagination states: a five-page list, a 15-page list truncated with a single ellipsis, and a centered view where the active page sits between two ellipses.
Architecting a scalable pagination system with dynamic truncation and centering logic for long content paths.

Documenting Inclusion Architecture

I moved beyond visual specs to document the technical "how-to" for every component. This included defining keyboard focus patterns and ARIA roles—the exact details missing from the legacy system—to eliminate developer guesswork and meet WCAG 2.1 AA standards.

An accessibility specification infographic. The Style section shows color contrast ratios; Keyboard Interaction demonstrates logical tab flow; and Label & Role shows code snippets for screen reader wayfinding.
Documenting technical standards for accessibility to ensure WCAG compliance across style, interaction, and roles.
The Solution

A self-documenting system that speaks the same language as engineering

The final solution transformed Torus from a fragmented UI into a cohesive ecosystem where every building block is inclusive by default.

Self-Documenting Components

I integrated Usage Instructions and Logic Rules directly into Figma’s component configuration panels. This ensured technical guidance was always available in-context during implementation, eliminating the need for constant handoff meetings.

A Figma workspace showing a comprehensive button component library. On the right, the Component Information panel displays technical guidelines and configurable properties like icon visibility.
Embedding usage instructions and logic rules directly within Figma component panels to streamline developer handoff.

Multi-Theme Accessibility Validation

I used the Stark plugin to verify color contrast for every element. I also introduced new "Danger-Red" tokens to the system, ensuring that failure states remained WCAG-compliant across both dark and light modes.

A color token specification table showing mappings for "Danger" and "Disabled" states across Dark and Light modes.
Standardizing "Danger-Red" tokens to ensure accessible contrast ratios across light and dark modes.

A Blueprint for Future Growth

I established a governance framework by standardizing the documentation structure itself. By defining exactly how visual specs, interaction logic, and accessibility rules are recorded, I provided future designers with a repeatable "playbook" to continue the Torus rebuild using consistent standards.

An infographic showing three main documentation pillars: Usage, Specs, and Accessibility.
A standardized documentation structure designed as a repeatable template to guide future component rebuilds.
Impact

Shifting from "Final Audit" to "Accessible by Default”

By the end of my 2-month window, the project successfully pivoted the team’s mindset—treating accessibility as a fundamental technical requirement rather than a last-minute patch. We achieved 100% documentation coverage for 11 core components, effectively bridging the "fragmentation gap."

  • Established Team Alignment: Senior stakeholders noted that the new documentation "cleared up long-standing confusion," creating a shared technical vocabulary essential for streamlined onboarding and long-term maintenance.
  • Ensured Structural Readiness: By replacing fragmented "shadow components" with a validated, scalable library, I ensured that inclusive design is now the structural foundation for all future OLI projects.
  • Eliminated Handoff Friction: The transition to self-documenting components reduced implementation guesswork, allowing developers to build with confidence and adhere to WCAG 2.1 AA standards without constant supervision.
A high-level overview of the design system library grouped into four categories: Action, Input, Navigation, and Info.
A birds-eye view of the standardized component library, categorized by functional role to ensure system-wide consistency.
reflection

A design system is only as good as the instructions that come with it

This project was a deep dive into the massive technical and communicative effort required to build a functional design system. I realized that the real challenge isn't just building components—it’s designing a tool that other people can actually follow without a meeting.

I spent significant energy ensuring my guidelines were clear and "meta-usable" so the system could stand on its own. Looking back, I’d love to take this a step further by conducting usability testing on the system itself, observing how other builders use my documentation to construct new layouts—the ultimate test of a sustainable, human-centered foundation.

Other projects

Cover image of the project. Click to view the full project.

Word Tag: Playful Assessment Design

Word Tag · METALS Capstone · MVP & Game-based Learning
Turned testing into play by designing research-based assessments that kids found engaging and motivating
Cover image of the project. Click to view the full project.

ThinkBot: AI for Critical Thinking

CMU · Course Project · Web Extension & GenAI
Designed a browser extension that uses persuasive design to encourage critical thinking with AI