Skip to content
mediumIdentity Handling

No Pronouns in User Model

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

  • data-model
  • pronouns
  • identity

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 so the fix stays fixed.

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.

Catch this automatically on every pull request.

Add the eval suite to CI

Improve this pattern

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

Edit on GitHub (opens in a new tab)