Skip to main content

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 TypeBest AgentUse Case
Market analysisanalystCompetitors, trends, sizing
User researchanalystPersonas, pain points, needs
Technical researcharchitectTools, patterns, trade-offs
Best practicesdevCode 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