Fixing the Hardcoded Placeholder: How We Centralized the Brand Name
Fixing the Hardcoded Placeholder: How We Centralized the Brand Name
Release: v1.0.91 · Category: UI/UX · Content
The Problem
Up until this release, the SaaS Factory sign-in page, onboarding wizard, homepage hero, and footer all displayed the string:
Dylan's Amazing SaaS Factory
This was a personal placeholder left over from early development. For a platform purpose-built to help teams ship enterprise SaaS products, having a developer's first name embedded in every user-facing entry point is — to put it plainly — a credibility problem. Every new user who hit the sign-in page or stepped through onboarding saw it.
The Fix
The solution is simple and deliberate: a single source of truth for the brand name.
A new module was introduced at src/lib/brand.ts:
// src/lib/brand.ts
export const BRAND_NAME = 'SaaS Factory';
Every surface that previously rendered the hardcoded placeholder now imports BRAND_NAME from this file:
import { BRAND_NAME } from '@/lib/brand';
// Example usage in the sign-in page
<h1>Welcome to {BRAND_NAME}</h1>
Surfaces Updated
| Surface | File |
|---|---|
| Sign-in page | src/app/sign-in/[[...sign-in]]/page.tsx |
| Sign-up page | src/app/sign-up/[...sign-up]/page.tsx |
| Onboarding wizard header | WizardHeader component |
| Homepage hero | Homepage root component |
| Footer | Footer component |
Why a Dedicated Module?
Centralizing the brand name in src/lib/brand.ts rather than an environment variable or scattered constants means:
- One-line rebranding — changing
BRAND_NAMEpropagates everywhere at compile time. - Type-safe — the value is a typed TypeScript export, not a runtime string that can be
undefined. - No env variable required — the brand name is part of the product's identity, not infrastructure configuration. It belongs in source code.
- Searchable — any developer can find every usage with a single import search.
Impact
This is a content-only change with no functional or API impact. No database migrations, no configuration changes, and no breaking changes for existing integrations. Users will simply see SaaS Factory wherever they previously saw the placeholder — immediately, on next deployment.