← Work / Language Navigator

Internship

Language Navigator

Building a design system for an open language data tool

Role

Product Design Intern

Team

Design team of 3, in a volunteer project of about 30 contributors

Timeline

Jun - Sep 2026

Challenge

A growing tool with no design system

Language Navigator is a free, open tool for exploring the world's languages, built by Translation Commons, a nonprofit organization whose partners include UNESCO's World Atlas of Languages. It covers close to 9,000 languages and language-like entries that can be browsed as cards, a hierarchy, a table, reports, or a map. The tool had grown without a design system or brand guidelines, and the interface had picked up inconsistencies as the site was rebuilt piece by piece. Before the UI could be redesigned, the team needed a shared design foundation that matched what the developers were actually building with.

Browsing languages as a hierarchy, from Indo-European down
Browsing languages as cards
Browsing languages as cards in Language Navigator

Results

The project got its first design system

The project got its first design system, built in Figma on shadcn/ui, the component library the engineering team adopted. The design and engineering teams aligned on that foundation, the site migration to shadcn components proceeded one piece at a time, and design review became a regular part of the pull request process.

My impact

What I owned: the system file and design review

  • Set up the project's design system file in Figma from the codebase resources and shared it with the design and engineering team
  • Evaluated the component library direction with a second designer, comparing Chakra UI and shadcn/ui on TypeScript support, accessibility, and visual foundation
  • Gave design feedback on live pull requests, including the digital support indicator, the language details header, and navbar and intro page redesigns
  • Coordinated design work asynchronously across a remote volunteer team spread over several time zones
Map view showing where each language is spoken

Process

How the system came together

The product

The Navigator pulls data from sources like Unicode CLDR and Glottolog. People come to it with practical questions: the code for a language, which languages are spoken in a country, and which languages have digital support and which are missing it.

Joining the team

I joined in late June 2026 as a Product Design Intern. The design lead scoped my work into two areas: lead new feature design, and orchestrate the website's design system. My main point of contact was the engineering manager who leads the project and coordinates roughly 30 volunteers. The design team was three people, all remote, so most of the work happened asynchronously.

Starting the design system

There was no design system to inherit, so I built the first version of the Figma design system file from the project's GitHub resources, so design work would start from the real codebase instead of from a blank page. I shared the file with the team in mid-July and collected feedback on it. The system documents semantic color tokens as Figma variables, each with light and dark values, a type scale, and components drawn from the live product: buttons with their states, the language card used in the card list, selectors, the gauge that shows digital support levels, a theme toggle, the navigation bar, and the data table.

Foundations page of the design system: color tokens and type scale
Dark mode preview of the component set

Choosing the foundation

In parallel, the design team compared two component libraries, Chakra UI and shadcn/ui. Chakra would move faster with a ready visual foundation, while shadcn gave the project full ownership of the components at the cost of more upfront work. Engineering standardized on shadcn with Tailwind and Radix, including light and dark modes and design token variables, and began migrating the site one component at a time. That decision set the direction for design: the design system and guidelines had to be based on the library developers were actually shipping. A recurring question in my work was priority, what to align now and what to leave for the redesign.

Design feedback on live work

Design review happened on real pull requests. One redesigned the digital support indicator, and the team debated whether a 10-point score hides exactly the support gaps most users come to find. Another reworked the top of the language details pages, where names and codes had pushed important information too far down. The navbar and intro page went through redesign options as well, including how search should be grouped. I took part in these critiques as part of the design team.

Around the system

Three supporting workstreams ran alongside the design system. The team catalogued issues from an earlier UX audit into themes with proposed solutions, split into quick fixes and longer-term decisions. Because no brand guidelines existed, a stakeholder questionnaire went out to ground the visual direction before anyone proposed a UI concept. And the team planned user interviews, since written feedback from people testing the app was hard to interpret without seeing how they actually navigated it.

Retrospective

What open-source design taught me

This internship showed me how design works in an open-source volunteer team. Nobody owns the roadmap, time zones eat most of your meeting options, and a design system only matters if it matches what developers are shipping. I learned to make progress with incomplete information and to write decisions down so the next person can pick them up asynchronously. My internship ended in August 2026, so I handed off while the migration was still in progress. I would have liked to see the rollout through.