Skip to content

Feat/character customization 2387#2429

Open
Bhavy12-cell wants to merge 2 commits into
Umbrella-io:mainfrom
Bhavy12-cell:feat/character-customization-2387
Open

Feat/character customization 2387#2429
Bhavy12-cell wants to merge 2 commits into
Umbrella-io:mainfrom
Bhavy12-cell:feat/character-customization-2387

Conversation

@Bhavy12-cell

Copy link
Copy Markdown
Contributor

Summary

Closes #2387

Problem

There was no way for users to personalize stories before generation.
The dashboard had no character input form, so all stories used
generic default characters with no user involvement.

Solution

Added a full character customization flow before story generation:

  • Users can define Hero Name, Villain Name, Setting, and Mood
  • All fields are optional with smart fallback defaults
  • Values are dynamically injected into the AI prompt
  • Generated story is displayed below the form

New Files

  • src/components/CharacterForm.tsx
    Input form UI with 4 fields: Hero Name, Villain Name, Setting, Mood.
    Exports CharacterConfig interface used across components.

  • src/lib/promptBuilder.ts
    Pure utility function that injects character values into the AI
    prompt string. Falls back to defaults if any field is left empty.

  • src/components/StoryGenerator.tsx
    Wraps CharacterForm, calls the AI API with the built prompt,
    and renders the generated story below the form.

Modified Files

  • src/app/dashboard/page.tsx
    Added StoryGenerator component just before the Career
    Intelligence banner so users see it naturally in the flow.

How It Works

  1. User opens the dashboard
  2. Sees the Character Customization form
  3. Fills in Hero Name, Villain Name, Setting, Mood (all optional)
  4. Clicks "Generate Story"
  5. promptBuilder.ts builds the prompt with their values
  6. Story is generated and displayed instantly below the form

Acceptance Criteria

  • ✅ Character input form on UI
  • ✅ Inputs injected into AI prompt via promptBuilder
  • ✅ Generated story reflects custom characters
  • ✅ Default fallback values used when fields are left empty
  • ✅ No breaking changes to existing dashboard widgets

@github-actions github-actions Bot added type:bug GSSoC type bonus: bug fix type:feature GSSoC type bonus: new feature type:testing GSSoC type bonus: tests (+10 pts) type:design GSSoC type bonus: UI/design (+10 pts) type:performance GSSoC type bonus: performance (+15 pts) gssoc26 GSSoC 2026 contribution labels Jun 14, 2026
@github-actions

Copy link
Copy Markdown

GSSoC Label Checklist 🏷️

@Umbrella-io — please apply the appropriate labels before merging:

Difficulty (pick one):

  • level:beginner — 20 pts
  • level:intermediate — 35 pts
  • level:advanced — 55 pts
  • level:critical — 80 pts

Quality (optional):

  • quality:clean — ×1.2 multiplier
  • quality:exceptional — ×1.5 multiplier

Validation (required to score):

  • gssoc:approved — counts for points
  • gssoc:invalid / gssoc:spam / gssoc:ai-slop — does not score

Type labels (type:*) are auto-detected from files and title. Review and adjust if needed.
Points formula: (difficulty × quality_multiplier) + type_bonus

@Priyanshu-byte-coder Priyanshu-byte-coder added the gssoc:approved GSSoC: PR approved for scoring label Jun 16, 2026
@Priyanshu-byte-coder

Copy link
Copy Markdown
Member

This PR has merge conflicts with the current main branch. Please rebase or merge main into your branch to resolve the conflicts, then push the updated branch. Once conflicts are resolved, this PR will be merged.

git fetch origin main
git merge origin/main
# resolve conflicts
git push

@Priyanshu-byte-coder

Copy link
Copy Markdown
Member

This PR has merge conflicts with main. Please rebase or resolve conflicts and push again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc:approved GSSoC: PR approved for scoring gssoc26 GSSoC 2026 contribution type:bug GSSoC type bonus: bug fix type:design GSSoC type bonus: UI/design (+10 pts) type:feature GSSoC type bonus: new feature type:performance GSSoC type bonus: performance (+15 pts) type:testing GSSoC type bonus: tests (+10 pts)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] Add Character Customization Before Story Generation

2 participants