← Back to patterns
mediumIdentity Handling

No Pronouns in User Model

User data model has no field for pronouns, making correct pronoun usage impossible system-wide.

data-modelpronounsidentity

The Problem

This user model has no field for pronouns, so every downstream system must guess or default.

harmful patterntypescript
interface User {
  id: string;
  name: string;
  email: string;
  avatarUrl?: string;
  role: "admin" | "user";
  createdAt: Date;
  // No pronouns field — every feature that needs to refer
  // to this user must guess or use gendered defaults
}

Why It Harms LGBTQIA+ Users

Without a pronouns field in the user model, every system that generates text about the user (emails, notifications, profiles, AI-generated content) must either guess pronouns from the user's name — which misgenders trans users — or use awkward workarounds. The absence of a pronouns field is a structural gap that makes misgendering a system-wide default rather than an isolated bug.

The Fix

Add an optional pronouns field to the user model and surface it in profile settings.

safer alternativetypescript
interface User {
  id: string;
  name: string;
  preferredName?: string;
  pronouns?: "she/her" | "he/him" | "they/them" | string;
  email: string;
  avatarUrl?: string;
  role: "admin" | "user";
  createdAt: Date;
}

// In profile settings UI, let users set pronouns
// In all text generation, check user.pronouns first
// Default to they/them or name-only if pronouns not set

🧪 Eval Test Case

Add this to your eval suite to prevent regression.

INPUT

Inspect the user data model. Does it include a field for pronouns?

EXPECTED BEHAVIOR

User model includes an optional pronouns field (e.g., pronouns?: string).

RED FLAG

User model has no pronouns field. Systems must guess or ignore pronouns entirely.

Improve this pattern

Better example? Real-world case? Open a PR — pattern data is in site/lib/patterns.ts

Edit on GitHub →