Use Case: Research Topics
Step-by-step walkthrough for conducting research using FAOS agents.
Overviewβ
Research tasks work best with the analyst agent for market/business research and the architect agent for technical research.
| Research Type | Best Agent | Use Case |
|---|---|---|
| Market analysis | analyst | Competitors, trends, sizing |
| User research | analyst | Personas, pain points, needs |
| Technical research | architect | Tools, patterns, trade-offs |
| Best practices | dev | Code patterns, libraries |
Market Researchβ
Competitor Analysisβ
Prompt:
"Ask FAOS analyst to research our top 5 competitors in the project management SaaS space, focusing on their AI features and pricing models"
Response:
Competitor Analysis: AI-Powered Project Management
1. Monday.com
- AI Features: Smart automations, predictive timelines
- Pricing: $8-16/user/month
- Strength: Visual workflows
- Weakness: AI features limited to higher tiers
2. Asana
- AI Features: Goals tracking, workload balancing
- Pricing: $10.99-24.99/user/month
- Strength: Enterprise adoption
- Weakness: Steep learning curve
3. Notion AI
- AI Features: Content generation, Q&A, summaries
- Pricing: $8-15/user/month + $10 AI add-on
- Strength: Flexibility, all-in-one
- Weakness: Not project-management focused
4. ClickUp
- AI Features: ClickUp Brain (docs, tasks, chat)
- Pricing: Free-$12/user/month
- Strength: Feature density
- Weakness: Can be overwhelming
5. Linear
- AI Features: Triage, duplicate detection
- Pricing: $8/user/month
- Strength: Developer-focused UX
- Weakness: Limited to engineering teams
Key Insights:
- AI is now table-stakes, not differentiator
- Pricing converging to $10-15/user/month
- Gap: No one does AI-assisted decision-making well
Market Sizingβ
Prompt:
"Have FAOS analyst estimate the TAM, SAM, and SOM for an AI-powered expense tracking app targeting SMBs"
Trend Analysisβ
Prompt:
"Ask FAOS analyst to identify emerging trends in enterprise software that we should consider for our 2026 roadmap"
Technical Researchβ
Technology Evaluationβ
Prompt:
"Use FAOS architect to compare React, Vue, and Svelte for our new customer dashboard, considering our team's React experience and need for real-time updates"
Response:
Frontend Framework Analysis
Comparison Matrix:
| Criteria | React | Vue | Svelte |
|-------------------|-------|------|--------|
| Team familiarity | 5/5 | 2/5 | 1/5 |
| Bundle size | 3/5 | 4/5 | 5/5 |
| Real-time support | 5/5 | 4/5 | 3/5 |
| Ecosystem | 5/5 | 4/5 | 3/5 |
| Learning curve | 3/5 | 5/5 | 4/5 |
| Enterprise ready | 5/5 | 4/5 | 2/5 |
Recommendation: React
Rationale:
1. Team already proficient - no ramp-up time
2. Excellent real-time support via React Query + WebSockets
3. Largest ecosystem for enterprise components
4. Proven at scale in production
Alternatives to consider:
- If bundle size critical: Preact (React-compatible, smaller)
- If greenfield + small team: Svelte for simplicity
Implementation approach:
- Next.js 14 for framework
- React Query for server state
- Zustand for client state
- Tailwind + Radix for UI
Architecture Patternsβ
Prompt:
"Ask FAOS architect to explain when to use event sourcing vs. traditional CRUD, with examples relevant to our domain"
Library Selectionβ
Prompt:
"Use FAOS dev agent to compare date libraries (date-fns vs. dayjs vs. Luxon) for our timezone-heavy scheduling feature"
Best Practices Researchβ
Code Patternsβ
Prompt:
"Ask FAOS dev agent to show best practices for error handling in a FastAPI application, including examples"
Response:
# FastAPI Error Handling Best Practices
# 1. Custom Exception Classes
# exceptions.py
class AppException(Exception):
def __init__(self, code: str, message: str, status: int = 400):
self.code = code
self.message = message
self.status = status
class NotFoundError(AppException):
def __init__(self, resource: str, id: str):
super().__init__(
code="NOT_FOUND",
message=f"{resource} with id {id} not found",
status=404
)
# 2. Global Exception Handler
# main.py
@app.exception_handler(AppException)
async def app_exception_handler(request: Request, exc: AppException):
return JSONResponse(
status_code=exc.status,
content={
"error": {
"code": exc.code,
"message": exc.message
}
}
)
# 3. Service Layer Pattern
# services/user_service.py
async def get_user(user_id: str) -> User:
user = await user_repo.find_by_id(user_id)
if not user:
raise NotFoundError("User", user_id)
return user
# 4. Route Layer (Clean)
@router.get("/users/{user_id}")
async def get_user(user_id: str) -> UserResponse:
# Exceptions propagate to global handler
user = await user_service.get_user(user_id)
return UserResponse.from_orm(user)
Security Best Practicesβ
Prompt:
"Have FAOS dev agent explain authentication best practices for a mobile app with biometric login"
Testing Strategiesβ
Prompt:
"Ask FAOS dev agent how to structure tests for a LangGraph agent, including mocking LLM calls"
Knowledge Graph Researchβ
Explore Relationshipsβ
Prompt:
"Query FAOS knowledge graph: What services depend on the AuthenticationService?"
Find Patternsβ
Prompt:
"Ask FAOS knowledge graph: Show me all the API endpoints that interact with the payments domain"
Impact Analysisβ
Prompt:
"Use FAOS graph query to find all components that would be affected if we change the User model schema"
Tips for Better Researchβ
Doβ
- Be specific - "Compare X and Y for use case Z"
- Provide context - Team skills, constraints, requirements
- Ask follow-ups - Deep dive into promising options
- Request examples - See code, not just concepts
Don'tβ
- Ask too broadly - "What's the best framework?"
- Skip constraints - Always mention your context
- Accept first answer - Explore alternatives
- Forget trade-offs - Every choice has downsides
Related Use Casesβ
- Create PRD - Use research in product planning
- Code Review - Verify best practices
- Sprint Planning - Technical spikes