Skip to content

feat: add developer persona and smart insights widget#853

Open
KrutagyaKaneria wants to merge 4 commits into
Priyanshu-byte-coder:mainfrom
KrutagyaKaneria:feat/issue-142-developer-persona-insights
Open

feat: add developer persona and smart insights widget#853
KrutagyaKaneria wants to merge 4 commits into
Priyanshu-byte-coder:mainfrom
KrutagyaKaneria:feat/issue-142-developer-persona-insights

Conversation

@KrutagyaKaneria
Copy link
Copy Markdown

Overview

Adds a new "Developer Persona & Smart Insights" widget to the dashboard that transforms developer activity metrics into personalized personas and contextual coding insights.

Features Added

  • Added dynamic developer persona analysis
  • Added smart insights generation engine
  • Added new /api/metrics/insights endpoint
  • Added responsive DeveloperPersona dashboard widget
  • Added persona-driven visual theming and hover animations
  • Integrated widget into dashboard layout

Personas Supported

  • Early Bird
  • Night Owl
  • Refactorer
  • Marathoner
  • Speed Runner

Technical Details

  • Added reusable analytics engine in src/lib/developer-persona.ts
  • Added cached metrics integration
  • Implemented deterministic persona scoring
  • Added dynamic insight generation based on developer metrics
  • Maintained TypeScript strict safety

Validation

  • npm run type-check
  • npm run lint
  • npm run build
  • ✅ Responsive testing completed
  • ✅ Hover animation testing completed
  • ✅ No hydration issues observed

Issue

Closes #431

Screencast.From.2026-05-23.11-41-13.mp4

@vercel
Copy link
Copy Markdown

vercel Bot commented May 23, 2026

@KrutagyaKaneria is attempting to deploy a commit to the PRIYANSHU DOSHI's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions Bot added gssoc26 GSSoC 2026 contribution type:feature GSSoC type bonus: new feature labels May 23, 2026
@github-actions
Copy link
Copy Markdown

GSSoC Label Checklist 🏷️

@Priyanshu-byte-coder — 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

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your first PR on DevTrack! 🎉

A maintainer will review it within 48 hours. While you wait:

  • Make sure CI is passing (type-check + lint)
  • Double-check the PR description is filled out and the issue is linked
  • Feel free to ask questions in Discussions if you need help

If you find DevTrack useful, a ⭐ star on the repo is always appreciated — it helps the project grow and attract more contributors!

Copy link
Copy Markdown
Owner

@Priyanshu-byte-coder Priyanshu-byte-coder left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Raw Tailwind color violations throughout — all colors must use CSS variables. Examples found:

  • border-indigo-300/15, bg-slate-950/45, text-indigo-100, from-indigo-500/12 — in persona styles
  • border-red-500/20 bg-red-500/10 text-red-300 — error state (use var(--destructive))
  • hover:text-white — (use hover:text-[var(--foreground)])
  • Gradient values in developer-persona.ts: from-indigo-500/20, from-amber-400/25, etc.

Replace all with CSS variables: var(--accent), var(--destructive), var(--success), var(--muted-foreground), etc. Also fix missing EOF newline on DeveloperPersona.tsx.

@Priyanshu-byte-coder
Copy link
Copy Markdown
Owner

Good work overall — the logic, CSS vars, and caching pattern are all correct. Two issues to fix before this can merge:

1. Missing EOF newlines
Both src/app/api/metrics/insights/route.ts and src/lib/developer-persona.ts are missing the trailing newline. Please add a newline at the end of each file.

2. Merge conflict — rebase needed
This PR conflicts with the current main branch (metrics-cache.ts and dashboard/page.tsx have both changed since your base commit). Please rebase on main to resolve.

@Priyanshu-byte-coder Priyanshu-byte-coder added gssoc:approved GSSoC: PR approved for scoring level:intermediate GSSoC: Intermediate difficulty (35 pts) labels May 23, 2026
@KrutagyaKaneria
Copy link
Copy Markdown
Author

Thanks for the review! I’ve updated the Developer Persona widget to use semantic theme tokens throughout, removed the remaining raw Tailwind color utilities, fixed the EOF newline issue, and reran lint/type-check/build validation successfully.

@KrutagyaKaneria KrutagyaKaneria force-pushed the feat/issue-142-developer-persona-insights branch from 36eb286 to 67797f0 Compare May 23, 2026 11:26
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 level:intermediate GSSoC: Intermediate difficulty (35 pts) type:feature GSSoC type bonus: new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Add "Developer Persona" & Smart Coding Insights Widget

2 participants