Case Studies

Passport

A digital identity aggregator for proving humanity through user-controlled Web2, Web3, and physical stamps.

Passport interface artwork showing identity verification and scoring.

Impact

Human Passports

2M+

Ecosystem Partners

120+

Credentials

43M+

Secured Public Goods Matching Pools

$25M+

In Airdrops Secured Against Sybils

$512M+

Challenge

Problem

Identity in Web3 was scattered across platforms, while bad actors and bots made fair funding, participation, and governance harder. Existing verification methods each provided only part of the picture: some prioritized privacy, others accuracy, and others convenience. The core question was how to prove someone is human on the internet without revealing important personal information.

Approach

Process

Setup

I led the design of a privacy-first identity aggregator over 13 months. The team included four engineers, two data scientists, a product manager, a product lead, and me. I owned the design system, visual language, UX architecture, research, prototyping, and interface design.

The work laid the foundation for the product's evolution, and later acquisition, from Gitcoin Passport to Human Passport. The core functionality remained the same while the product was reskinned.

The Passport entry flow introduces the idea of assembling proof through modular stamps.

Solution

For users, Passport aggregated digital identity into a single score. The user decided how to show they were human by verifying stamps that together formed a passport, ranging from ID verification and social platforms to blockchain activity.

For partners, Passport helped determine whether an account represented a real, trustworthy participant. It kept bots out of communities and helped partners create more trustworthy experiences.

The ETH stamp flow shows how individual credential details and verification states are handled without leaving the main product surface.

Why a Score?

Why not a pass/reject or yes/no model? Because you can never say with 100% confidence that someone is or is not human on the internet. Digital identity is probabilistic rather than absolute, and no single verification can clearly prove humanity.

We designed Passport around a cumulative Humanity Score, allowing multiple independent signals to contribute toward an overall confidence level. This gave users multiple paths to qualify while allowing partners to choose thresholds appropriate for their own risk tolerance.

Passport Unique Humanity Score cards showing score updates.
The Humanity Score gave users a visible, cumulative trust signal instead of a binary pass or fail state.

Stamps

Stamp categories covered social media, blockchain, and government verification so the product could support most needs and use cases without overwhelming users. The information architecture grouped stamps instead of presenting every option in one long list.

Every stamp visibly communicated one of three states: verified, expired, or needs update. Rather than hiding expiration dates in details, the UI made trust state and maintenance visible.

Stamp details opened in a sidebar with clear data on cost, time requirements, points gained, points left, expiration timing, and credential breakdowns.

Passport stamp cards and Ethereum stamp details sidebar.
Stamp cards and detail views made verification state, points, expiration, and credential breakdowns visible in one flow.

Passport Embed

Clients wanted to verify users without redirecting them away from their own products. The embedded flow needed to preserve Passport's trust model while feeling native to each partner interface.

I designed an embeddable verification flow that eliminated context switching, so partners could run trust checks inside their own product surfaces.

Passport embed verification cards over a geometric cube pattern.
The embedded verification flow let partners run Passport checks inside their own product surfaces.

Privacy & Security

Passport used privacy-first verification patterns, including one-way hashed data, zero-knowledge proofs, and threshold cryptography with keys split between multiple parties.

Security was designed to evolve. The model constantly adapted by comparing transaction history against known bot behavior.

Because users were asked to trust a privacy-preserving identity system, we exposed the stored passport as downloadable JSON rather than hiding implementation details. That improved transparency without requiring users to understand cryptography.

Passport JSON fields explaining privacy-preserving stamp metadata.
The downloadable Passport JSON exposed stored stamp metadata so privacy and security choices stayed legible.