Documents
Home>Documents>AI>Agent>Xgen

XGen Rebranding: From Prague to XGen

5 min readAug 7, 2025Feb 22, 2026

A Project That Was Renamed Three Times

A branding change in a software project is never just a simple find-and-replace. XGen went through three name changes from kickoff to launch: PlateeRAG → Prague → PolarOps → XGen. This post documents the real frontend work that went into each of those transitions.

Branding Timeline

PeriodNameReason for Change
2025-01 ~ 2025-04PlateeRAGInitial project name, focused on RAG features
2025-04 ~ 2025-06PragueInternal codename, start of productization
2025-06 ~ 2025-07PolarOpsCandidate name for external release
2025-07 ~XGenFinal brand — short for "neXt GENeration"

Everything That Needed to Change on the Frontend

There were far more places using the brand name than expected.

  1. Page titles and metadata<title>, OG tags, etc.
  2. Logo and favicon — SVG files, animated logo
  3. Navigation bar — brand text, logo image
  4. Login page — brand identity
  5. API endpoints — required coordination with the backend
  6. Error messages — text like "Contact PlateeRAG support"
  7. Docs and help content — brand name throughout user guides
  8. Embed widgets — brand exposed to external users

Introducing a Systematic Branding System

To avoid repeating the same mistakes, the codebase was refactored so all brand-related constants live in one place.

// constants/branding.ts
export const BRAND = {
  name: 'XGen',
  fullName: 'XGen Platform',
  tagline: 'AI Workflow Platform',
  description: 'AI 워크플로우를 시각적으로 설계하고 실행하세요',
  url: 'https://xgen.plateer.com',
  support: '[email protected]',
  logo: {
    light: '/images/xgen-logo-light.svg',
    dark: '/images/xgen-logo-dark.svg',
    icon: '/images/xgen-icon.svg',
  },
  colors: {
    primary: '#6366f1',
    secondary: '#8b5cf6',
    accent: '#06b6d4',
  },
} as const;

Hunting Down Hardcoded Leftovers with grep

After each rename, running grep to find any remaining references to the old name is non-negotiable.

# 잔여 이전 브랜드명 검색
grep -rn "PlateeRAG\|Prague\|PolarOps" src/ --include="*.tsx" --include="*.ts"

Every single rename turned up dozens of files. The stragglers were almost always hardcoded strings buried in comments or console.log calls.

Lessons Learned

Manage brand names as constants from day one. Hardcoded brand text will always come back to bite you. After going through this enough times, the habit of putting every user-visible string into either an i18n file or a constants file became second nature.

Tags
brandingrefactoringXGennamingproject management