- Added REPO_INVENTORY.md with all repos, branches, remotes, and staging info - Added .gitignore - Synced all existing docs from local workspace - Centralized documentation hub for GrowQR team
6.4 KiB
GrowQR — Upscaling Module — Redundancy vs Unique Work (Interview / Roleplay / Courses / Assessment)
Purpose: break down the 4 services in the Upscaling module, identify redundant modules we should share/standardize, and clarify what is unique per service.
Inputs reviewed (in growqr/plans/):
interview service plan.mdRoleplay_OnePager.docxCourse_OnePager.docxAssessment_OnePager.docx
1) Upscaling module: services and their primary job
- Interview Service
- Real-time-ish interview practice, persona-driven Q/A
- Records user media + optional screen share
- Outputs 7-metric coaching + historical comparison
- Roleplay Service
- Avatar-based AI roleplay (video/voice) + optional screen share
- Heavier focus on avatar, lip-sync, emotional expression
- Outputs weighted performance scoring + certificates for scenario thresholds
- Courses Service
- Course catalog + external provider integrations
- Enrollment/progress tracking + certificates
- Recommendation engine consumes gaps from other services
- Assessment Service
- Multi-stakeholder assessment marketplace
- Upload-first (CSV/JSON/Excel), AI-generated assessments as secondary
- Psychometric/behavioral data feeds the global recommendation engine
2) Redundant modules (should be shared or standardized)
2.1 Identity / auth verification
All services require:
- verify user identity
- enforce org visibility (marketplace vs private library)
Recommendation: standard auth library / gateway policy + shared middleware.
2.2 Credits / entitlements
All services deduct credits:
- Interview: duration tier → credits
- Roleplay: per session
- Courses: per course type
- Assessment: possibly per attempt / premium
Recommendation: one central Credits/Entitlements service or shared library + consistent idempotent “deduct” contract.
2.3 Artifact storage + media broker
Interview/Roleplay generate large artifacts (video/audio/screen). Courses/Assessments generate smaller artifacts (certificates, uploads).
Shared needs:
- presigned upload/download
- artifact metadata registry
- retention policy and deletion
Recommendation: shared “Artifact Registry” module/service (even if storage is per-service).
2.4 Certificate generation
Courses, Assessments, Roleplay (and potentially Interview) all generate certificates.
Shared needs:
- template engine
- signing/verification
- storage + download links
Recommendation: shared Certificate service/library.
2.5 Eventing + outbox pattern
All services share data with each other and Dashboard.
Shared needs:
- event schema versioning
- retries, idempotency
Recommendation: standard event format + outbox implementation that every service uses.
2.6 Skill taxonomy + skill-gap representation
Recommendations depend on consistent “skills” and “gaps” representation.
Shared needs:
- canonical skill IDs
- mapping metrics → skills
Recommendation: define a shared Skill Taxonomy and a SkillGap schema used by all services.
2.7 Recommendation engine inputs/outputs
Courses are recommended based on:
- Interview weaknesses
- Roleplay weaknesses
- Assessment topic gaps + psychometrics
Shared needs:
- consistent “signals” API (what each service emits)
Recommendation: a shared “Recommendation Signals” contract:
SignalProduced(service, userId, signalType, payload, timestamp, version)
2.8 Compliance baseline (US/EU/India)
All services must support:
- PII minimization
- retention controls
- deletion workflows
- access auditing
Recommendation: shared compliance checklist + shared primitives (retention tags, audit log schema).
3) Unique modules (must be built per service)
3.1 Interview Service — unique work
- persona-driven interview state machine
- question bank and follow-up generation
- 7-metric interview-specific scoring weights
- historical comparison optimized for interview metrics
3.2 Roleplay Service — unique work
- avatar rendering integration strategy (real-time avatar vs pre-rendered video)
- voice synthesis + lip-sync quality targets (≤100ms target mentioned)
- scenario configuration and scenario-specific certificate rules
- roleplay-specific weights (Voice 35%, Facial 25%, Body 20%, Technical 10%, Content 10%)
3.3 Courses Service — unique work
- external provider integrations and progress sync/webhooks
- catalog ingestion + caching strategy
- enrollment state machine (in progress/completed/abandoned)
3.4 Assessment Service — unique work
- multi-stakeholder creator workflows
- bulk upload parsing + validation
- flexible data collection schema per creator
- timer/navigation engine
- creator analytics dashboards + exports
- psychometric/behavioral modeling signals
4) Where client-side vs server-side makes sense (cross-service)
For Interview + Roleplay (real-time experiences)
Client-side is optimal for:
- recording + encoding
- optional local STT (for fast turn-taking)
- avatar rendering + lip sync
- optional MediaPipe feature extraction
Server-side is optimal for:
- session orchestration + credits
- question generation
- post-session scoring + report
- artifacts registry + retention/audit
For Courses + Assessment
Mostly server-side:
- workflows are CRUD + marketplace + sync
- no need for client-side heavy ML
5) Recommended shared platform building blocks (minimal)
If we want “shared but not over-engineered”, build these as either shared libraries or small internal services:
- Credits/Entitlements (idempotent deduction API)
- Artifact Registry (metadata + presigned URL patterns)
- Certificates (template + signing)
- Event schemas + outbox (reliable cross-service sharing)
- Skill taxonomy + SkillGap schema (powering recommendations)
- Compliance primitives (retention tags, deletion requests, audit events)
6) Quick risk notes
-
If Interview and Roleplay choose different avatar/TTS strategies, they can still share:
- the session + artifacts + scoring/report patterns
- the eventing + skill gap outputs
-
If we attempt server-side real-time audio/video streaming early, we significantly increase:
- cost
- compliance surface area
- time-to-ship
7) Next planning step
Decide and document:
- The shared contracts (Credits, Artifacts, Events, SkillGap)
- The client/server contract for Interview + Roleplay (what must client compute vs server)
- The retention + deletion policy for recordings across markets