Skip to content

Allow Dynamic Project Name Generation from Project Title in SDK #1292

@whoAbhishekSah

Description

@whoAbhishekSah

Problem

Some clients want to create projects using only the project title without requiring users to input a globally unique project name. Currently, both fields must be provided during project creation, which creates friction in the user experience.

Proposed Solution

Implement project name auto-generation in the JS SDK using the format:
{sanitizedproject_title}{md5_hash_of_org_uuid}

Example:

  • Project Title: My Project
  • Organization UUID: 123e4567-e89b-12d3-a456-426614174000
  • Generated Name: my_project_8f14e45fceea167a5a36deebd9c0e6a1

Why SDK Over Schema Changes

  1. Preserves Data Integrity: The globally unique project name constraint is essential for system-wide uniqueness and should remain unchanged at the database level.

  2. Backward Compatibility: Existing clients and APIs continue to work without breaking changes. Clients who want to provide explicit names still can.

  3. Client-Side Flexibility: Different SDK implementations (JS, Go, Python) can adopt this pattern independently based on their use cases without forcing schema migrations.

  4. Separation of Concerns: The uniqueness requirement is a data layer constraint, while the auto-generation is a UX enhancement that belongs in the presentation/SDK layer.

  5. No Migration Required: Schema changes would require database migrations across all deployments, while SDK changes can be adopted incrementally.

Benefits

  • Improved UX for clients who find project names redundant
  • No breaking changes to existing infrastructure
  • Maintains data integrity and uniqueness guarantees
  • Easy to roll out and test incrementally
  • Configurable behavior allows gradual adoption

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions