Scheduled research persona generation
This commit is contained in:
348
docs/NEXT_QUICK_WINS_SUGGESTIONS.md
Normal file
348
docs/NEXT_QUICK_WINS_SUGGESTIONS.md
Normal file
@@ -0,0 +1,348 @@
|
||||
# Next Quick Wins - Research Phase AI Enhancements
|
||||
|
||||
## Overview
|
||||
Based on `RESEARCH_AI_HYPERPERSONALIZATION.md` and the 4 quick wins just completed, here are the recommended next quick wins that provide high value without requiring expensive AI calls.
|
||||
|
||||
---
|
||||
|
||||
## ✅ Completed Quick Wins (Phase 1)
|
||||
1. ✅ Industry-specific placeholder rotation
|
||||
2. ✅ Persona-specific preset generation
|
||||
3. ✅ Dynamic domain updates on industry change
|
||||
4. ✅ Auto-suggest research mode badge
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Recommended Next Quick Wins (Phase 2)
|
||||
|
||||
### Quick Win #5: Research History Hints ⭐⭐⭐ (1 hour)
|
||||
**Priority**: High | **Complexity**: Low | **Impact**: High
|
||||
|
||||
**What**:
|
||||
- Track last 5 research queries in localStorage
|
||||
- Show "Recently researched" quick-select buttons above the textarea
|
||||
- One-click to re-run previous research with same config
|
||||
|
||||
**Why**:
|
||||
- Users often research similar topics
|
||||
- Saves time typing same queries
|
||||
- Builds on existing localStorage infrastructure
|
||||
- No backend changes needed
|
||||
|
||||
**Implementation**:
|
||||
```typescript
|
||||
// New localStorage key: 'alwrity_research_history'
|
||||
interface ResearchHistoryEntry {
|
||||
keywords: string[];
|
||||
industry: string;
|
||||
targetAudience: string;
|
||||
researchMode: ResearchMode;
|
||||
timestamp: number;
|
||||
resultSummary?: string; // Optional: show snippet
|
||||
}
|
||||
|
||||
// Store on research completion
|
||||
// Display as chips above textarea
|
||||
// Click chip → populate all fields + auto-start research
|
||||
```
|
||||
|
||||
**Files to Modify**:
|
||||
- `frontend/src/components/Research/steps/ResearchInput.tsx` - Add history display
|
||||
- `frontend/src/components/Research/hooks/useResearchWizard.ts` - Track completions
|
||||
- `frontend/src/services/researchCache.ts` - Extend to track history (or new file)
|
||||
|
||||
**User Experience**:
|
||||
- See 3-5 recent research queries as chips
|
||||
- Hover shows industry, mode, date
|
||||
- Click → instant setup + optional auto-start
|
||||
- "Clear history" button for privacy
|
||||
|
||||
---
|
||||
|
||||
### Quick Win #6: Smart Keyword Expansion (Client-Side) ⭐⭐⭐ (1 hour)
|
||||
**Priority**: High | **Complexity**: Medium | **Impact**: High
|
||||
|
||||
**What**:
|
||||
- Expand user keywords with industry-specific terms using rule-based logic
|
||||
- Show expanded keywords as suggestions below textarea
|
||||
- User can accept/reject individual suggestions
|
||||
- Example: "AI tools" + Healthcare → ["AI tools", "medical AI", "healthcare automation", "clinical decision support"]
|
||||
|
||||
**Why**:
|
||||
- Users often enter vague queries
|
||||
- Industry context already available
|
||||
- Rule-based = no API cost
|
||||
- Can be AI-enhanced later (Phase 3)
|
||||
|
||||
**Implementation**:
|
||||
```typescript
|
||||
// Rule-based keyword expansion maps
|
||||
const industryKeywordExpansions: Record<string, Record<string, string[]>> = {
|
||||
Healthcare: {
|
||||
'AI': ['medical AI', 'healthcare AI', 'clinical AI', 'diagnostic AI'],
|
||||
'tools': ['medical devices', 'clinical tools', 'diagnostic systems'],
|
||||
'automation': ['healthcare automation', 'clinical automation', 'patient care automation']
|
||||
},
|
||||
Technology: {
|
||||
'AI': ['machine learning', 'deep learning', 'neural networks'],
|
||||
'cloud': ['AWS', 'Azure', 'GCP', 'cloud infrastructure'],
|
||||
'security': ['cybersecurity', 'data protection', 'privacy compliance']
|
||||
},
|
||||
// ... 13 industries
|
||||
};
|
||||
|
||||
// Function to expand keywords
|
||||
function expandKeywords(keywords: string[], industry: string): string[] {
|
||||
// Match user keywords against expansion maps
|
||||
// Return expanded list with originals + suggestions
|
||||
}
|
||||
```
|
||||
|
||||
**Files to Modify**:
|
||||
- `frontend/src/components/Research/steps/ResearchInput.tsx` - Add expansion UI
|
||||
- New: `frontend/src/utils/keywordExpansion.ts` - Expansion logic
|
||||
|
||||
**User Experience**:
|
||||
- User types: "AI automation"
|
||||
- System shows: "Suggested: AI automation, healthcare automation, clinical automation"
|
||||
- Click to add/remove suggestions
|
||||
- Visual distinction: original vs. suggested
|
||||
|
||||
---
|
||||
|
||||
### Quick Win #7: Alternative Research Angles ⭐⭐ (45 min)
|
||||
**Priority**: Medium | **Complexity**: Low | **Impact**: Medium
|
||||
|
||||
**What**:
|
||||
- Show 3-5 related research angles based on user input
|
||||
- Display as clickable cards below the textarea
|
||||
- Each angle suggests a different research focus
|
||||
- Example: "AI tools" → ["Compare AI tools", "AI tool ROI", "Best practices", "Implementation guides"]
|
||||
|
||||
**Why**:
|
||||
- Helps users discover research directions
|
||||
- Rule-based patterns (can be AI-enhanced later)
|
||||
- Increases research value for users
|
||||
- Encourages exploration
|
||||
|
||||
**Implementation**:
|
||||
```typescript
|
||||
// Pattern-based angle generation
|
||||
const anglePatterns = {
|
||||
tools: ['Compare {topic}', '{topic} ROI analysis', 'Best {topic} for {industry}'],
|
||||
trends: ['Latest {topic} trends', '{topic} market analysis', '{topic} future predictions'],
|
||||
strategies: ['{topic} implementation guide', '{topic} best practices', '{topic} case studies'],
|
||||
// ... more patterns
|
||||
};
|
||||
|
||||
function generateAngles(query: string, industry: string): string[] {
|
||||
// Detect query intent (tools, trends, strategies, etc.)
|
||||
// Generate 3-5 relevant angles using patterns
|
||||
// Return formatted angle suggestions
|
||||
}
|
||||
```
|
||||
|
||||
**Files to Modify**:
|
||||
- `frontend/src/components/Research/steps/ResearchInput.tsx` - Add angles display
|
||||
- New: `frontend/src/utils/researchAngles.ts` - Angle generation
|
||||
|
||||
**User Experience**:
|
||||
- User types query
|
||||
- System shows 3-5 angle cards below
|
||||
- Each card: Title + brief description
|
||||
- Click card → replaces textarea content
|
||||
- "Use this angle" button
|
||||
|
||||
---
|
||||
|
||||
### Quick Win #8: Smart Query Rewriting (Rule-Based) ⭐⭐ (1 hour)
|
||||
**Priority**: Medium | **Complexity**: Medium | **Impact**: Medium
|
||||
|
||||
**What**:
|
||||
- Improve vague inputs with industry context and persona data
|
||||
- Show "Enhanced query" suggestion above/below textarea
|
||||
- User can accept enhanced version
|
||||
- Example: "write something about AI" → "Research: AI-powered diagnostic tools in healthcare for medical professionals"
|
||||
|
||||
**Why**:
|
||||
- Many users enter very vague queries
|
||||
- Industry + persona context already available
|
||||
- Rule-based templates (no AI cost)
|
||||
- Foundation for future AI enhancement
|
||||
|
||||
**Implementation**:
|
||||
```typescript
|
||||
// Query enhancement templates
|
||||
const enhancementTemplates = {
|
||||
vague_ai: (industry: string, audience: string) =>
|
||||
`Research: AI applications in ${industry} for ${audience}`,
|
||||
vague_tools: (industry: string) =>
|
||||
`Compare top ${industry} tools and platforms`,
|
||||
vague_trends: (industry: string) =>
|
||||
`Latest trends and innovations in ${industry}`,
|
||||
// ... more templates
|
||||
};
|
||||
|
||||
function enhanceQuery(
|
||||
query: string,
|
||||
industry: string,
|
||||
audience: string
|
||||
): string | null {
|
||||
// Detect vague patterns ("write about", "something", "best", etc.)
|
||||
// Match to template + apply industry/audience context
|
||||
// Return enhanced query or null if already specific
|
||||
}
|
||||
```
|
||||
|
||||
**Files to Modify**:
|
||||
- `frontend/src/components/Research/steps/ResearchInput.tsx` - Add enhancement UI
|
||||
- New: `frontend/src/utils/queryEnhancement.ts` - Enhancement logic
|
||||
|
||||
**User Experience**:
|
||||
- User types: "something about AI"
|
||||
- System shows: "💡 Enhanced: Research AI applications in Healthcare for medical professionals"
|
||||
- "Use enhanced query" button
|
||||
- Can still use original if preferred
|
||||
|
||||
---
|
||||
|
||||
## Priority Ranking
|
||||
|
||||
### Immediate Impact (Week 1)
|
||||
1. **#5: Research History** - Highest ROI, lowest effort
|
||||
2. **#6: Keyword Expansion** - High value, uses existing context
|
||||
|
||||
### High Value (Week 2)
|
||||
3. **#7: Alternative Angles** - Encourages exploration
|
||||
4. **#8: Query Rewriting** - Improves vague inputs
|
||||
|
||||
---
|
||||
|
||||
## Implementation Strategy
|
||||
|
||||
### Phase 2A: Week 1 (2 hours)
|
||||
- Implement Quick Win #5 (Research History)
|
||||
- Implement Quick Win #6 (Keyword Expansion)
|
||||
- **Total**: 2 hours, high impact
|
||||
|
||||
### Phase 2B: Week 2 (1.75 hours)
|
||||
- Implement Quick Win #7 (Alternative Angles)
|
||||
- Implement Quick Win #8 (Query Rewriting)
|
||||
- **Total**: 1.75 hours, medium-high impact
|
||||
|
||||
---
|
||||
|
||||
## Technical Considerations
|
||||
|
||||
### No Backend Changes Required
|
||||
All quick wins are client-side using:
|
||||
- Existing localStorage infrastructure
|
||||
- Existing persona/industry data from APIs
|
||||
- Rule-based logic (no AI calls)
|
||||
|
||||
### Future AI Enhancement Path
|
||||
All quick wins designed to be AI-enhanced later:
|
||||
- History → AI-powered "similar research" suggestions
|
||||
- Keyword Expansion → AI semantic expansion
|
||||
- Angles → AI-generated angles from user intent
|
||||
- Query Rewriting → AI understanding of user goals
|
||||
|
||||
### Performance
|
||||
- All operations <10ms (local computation)
|
||||
- Minimal memory footprint
|
||||
- No API calls = instant feedback
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
### Track
|
||||
1. **History Usage**: % of users clicking recent research
|
||||
2. **Expansion Acceptance**: % of expanded keywords accepted
|
||||
3. **Angle Clicks**: % of users clicking alternative angles
|
||||
4. **Enhancement Acceptance**: % of enhanced queries used
|
||||
|
||||
### Goals (30 days)
|
||||
- 40% of users use research history at least once
|
||||
- 30% of users accept keyword expansions
|
||||
- 25% of users explore alternative angles
|
||||
- 20% of users accept query enhancements
|
||||
|
||||
---
|
||||
|
||||
## Comparison with Document
|
||||
|
||||
### From `RESEARCH_AI_HYPERPERSONALIZATION.md`:
|
||||
|
||||
**Phase 2: Persona-Aware Defaults** ✅ (Completed in Quick Wins 1-4)
|
||||
- ✅ Auto-fill industry from persona
|
||||
- ✅ Auto-fill target audience from persona
|
||||
- ✅ Suggest research mode based on topic complexity
|
||||
- ✅ Suggest provider based on topic type
|
||||
- ✅ Suggest Exa category based on industry
|
||||
- ✅ Suggest domains based on industry
|
||||
|
||||
**Phase 3: AI Query Enhancement** (Future - but rule-based foundation here)
|
||||
- 🔄 Generate optimal search queries ← Quick Win #8 (rule-based)
|
||||
- 🔄 Expand keywords semantically ← Quick Win #6 (rule-based)
|
||||
- 🔄 Suggest related research angles ← Quick Win #7 (rule-based)
|
||||
- 🔮 Predict best configuration (still future - needs AI)
|
||||
|
||||
**Additional Value**:
|
||||
- 🔄 Research history tracking (not in doc, but high value)
|
||||
|
||||
---
|
||||
|
||||
## Recommended Next Steps
|
||||
|
||||
1. **Start with Quick Win #5** (Research History) - 1 hour, instant value
|
||||
2. **Then Quick Win #6** (Keyword Expansion) - 1 hour, uses persona data
|
||||
3. **Evaluate user feedback** before implementing #7 and #8
|
||||
4. **Plan Phase 3** AI enhancements based on usage data
|
||||
|
||||
---
|
||||
|
||||
## Code Reuse Opportunities
|
||||
|
||||
### Existing Patterns to Leverage
|
||||
- **localStorage**: Already used in `researchCache.ts`, `useResearchWizard.ts`
|
||||
- **Persona Data**: Already fetched in `ResearchInput.tsx` via `getResearchConfig()`
|
||||
- **Industry Maps**: Already exist for domains/categories in `ResearchInput.tsx`
|
||||
- **State Management**: Can follow `useResearchWizard` patterns
|
||||
|
||||
### New Utilities Needed
|
||||
- `frontend/src/utils/researchHistory.ts` - History management
|
||||
- `frontend/src/utils/keywordExpansion.ts` - Expansion logic
|
||||
- `frontend/src/utils/researchAngles.ts` - Angle generation
|
||||
- `frontend/src/utils/queryEnhancement.ts` - Query improvement
|
||||
|
||||
---
|
||||
|
||||
## Risk Assessment
|
||||
|
||||
### Low Risk ✅
|
||||
- All client-side (no backend impact)
|
||||
- Graceful fallbacks (works without persona data)
|
||||
- Progressive enhancement (can disable if issues)
|
||||
- No breaking changes
|
||||
|
||||
### Potential Issues
|
||||
- **localStorage size**: History limited to 5 entries
|
||||
- **Privacy**: History stored locally (user-controlled)
|
||||
- **Performance**: All operations synchronous (should be fast)
|
||||
|
||||
---
|
||||
|
||||
## Conclusion
|
||||
|
||||
These 4 quick wins build on the foundation laid in Phase 1 and provide immediate value without AI costs. They can all be AI-enhanced later (Phase 3) once we validate user behavior and have usage data to guide the AI prompts.
|
||||
|
||||
**Recommended Order**:
|
||||
1. Research History (highest ROI)
|
||||
2. Keyword Expansion (high value, uses persona)
|
||||
3. Alternative Angles (encourages exploration)
|
||||
4. Query Rewriting (improves vague inputs)
|
||||
|
||||
**Total Time**: ~3.75 hours for all 4 features
|
||||
**Impact**: High (40% time savings, better research quality)
|
||||
**Risk**: Low (client-side only, graceful fallbacks)
|
||||
Reference in New Issue
Block a user