Rank
65
LangChain/LangGraph tools for AI agent x402 payments on X1
Traction
No public download signal
Freshness
Updated 4mo ago
Xpersona Agent
Role-specific AI mock interviewer built with CrewAI and Streamlit. Features a dark UI with interactive role cards, live word-count feedback, sidebar session stats, and a full summary screen. Runs in Demo Mode (no API key) or Live Mode (GPT-4o-mini via CrewAI) β auto-detected from .env. ποΈ CrewAI Role-Based AI Interviewer <p align="center"> <img src="https://img.shields.io/badge/Python-3.10%2B-3776AB?style=for-the-badge&logo=python&logoColor=white" /> <img src="https://img.shields.io/badge/CrewAI-Multi--Agent-FF6B35?style=for-the-badge&logo=robot&logoColor=white" /> <img src="https://img.shields.io/badge/Streamlit-1.35%2B-FF4B4B?style=for-the-badge&logo=streamlit&logoColor=white" /> <img src="https
git clone https://github.com/SANJAI-s0/crewai-role-based-ai-interviewer.gitOverall rank
#22
Adoption
No public adoption signal
Trust
Unknown
Freshness
May 31, 2026
Freshness
Last checked May 31, 2026
Best For
crewai-role-based-ai-interviewer is best for crewai, multi-agent workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack
Key links, install path, reliability highlights, and the shortest practical read before diving into the crawl record.
Overview
Role-specific AI mock interviewer built with CrewAI and Streamlit. Features a dark UI with interactive role cards, live word-count feedback, sidebar session stats, and a full summary screen. Runs in Demo Mode (no API key) or Live Mode (GPT-4o-mini via CrewAI) β auto-detected from .env. ποΈ CrewAI Role-Based AI Interviewer <p align="center"> <img src="https://img.shields.io/badge/Python-3.10%2B-3776AB?style=for-the-badge&logo=python&logoColor=white" /> <img src="https://img.shields.io/badge/CrewAI-Multi--Agent-FF6B35?style=for-the-badge&logo=robot&logoColor=white" /> <img src="https://img.shields.io/badge/Streamlit-1.35%2B-FF4B4B?style=for-the-badge&logo=streamlit&logoColor=white" /> <img src="https Capability contract not published. No trust telemetry is available yet. Last updated 5/31/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
May 31, 2026
Vendor
Sanjai S0
Artifacts
0
Benchmarks
0
Last release
Unpublished
Install & run
git clone https://github.com/SANJAI-s0/crewai-role-based-ai-interviewer.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Public facts grouped by evidence type, plus release and crawl events with provenance and freshness.
Public facts
Vendor
Sanjai S0
Protocol compatibility
OpenClaw
Handshake status
UNKNOWN
Events
Parameters, dependencies, examples, extracted files, editorial overview, and the complete README when available.
Captured outputs
Extracted files
0
Examples
6
Snippets
0
Languages
python
mermaid
flowchart TD
A([π User Opens App]) --> B{OPENAI_API_KEY\npresent in .env?}
B -- Yes --> C[π’ Live Mode\nCrewAI + GPT-4o-mini]
B -- No --> D[π‘ Demo Mode\nRule-based feedback]
C --> E[Landing β Role Selection Cards]
D --> E
E --> F[User selects a role\nand clicks Start Interview]
F --> G[Load 6 role-specific questions]
G --> H{Questions\nremaining?}
H -- Yes --> I[Show styled question card\nwith gradient progress bar]
I --> J[User types answer\nLive word-count indicator]
J --> K[Submit Answer]
K --> L{Mode?}
L -- Live --> M[CrewAI Feedback Coach\nAgent β GPT-4o-mini]
L -- Demo --> N[Length-aware\nrule-based feedback]
M --> O[Render styled feedback card\nSave to session history]
N --> O
O --> H
H -- No --> P[Summary Screen\n3-col metrics + full Q&A review]
P --> Q{Try another role?}
Q -- Yes --> E
Q -- No --> R([β
Session complete])
style A fill:#238636,color:#fff
style R fill:#238636,color:#fff
style M fill:#6C63FF,color:#fff
style N fill:#F77F00,color:#fff
style C fill:#1a7f37,color:#fff
style D fill:#9e6a03,color:#fff
style P fill:#0d2137,color:#58a6fftext
crewai-role-based-ai-interviewer/
β
βββ app.py # All-in-one Streamlit app
β # Β· Role config & questions
β # Β· Demo / Live feedback logic
β # Β· Custom CSS theme
β # Β· Landing, Interview, Summary screens
β
βββ requirements.txt # Python dependencies
βββ .env.example # API key template β copy to .env
βββ .gitignore # Ignores .env, __pycache__, .venv, etc.
βββ LICENSE # MIT License
βββ README.md # This file
β
βββ Flow/
βββ workflow.mmd # Mermaid source for the workflow diagrambash
git clone https://github.com/SANJAI-s0/crewai-role-based-ai-interviewer.git cd crewai-role-based-ai-interviewer
bash
python -m venv .venv # Windows .venv\Scripts\activate # macOS / Linux source .venv/bin/activate
bash
pip install -r requirements.txt
bash
cp .env.example .env
Editorial read
Docs source
GITHUB OPENCLEW
Editorial quality
ready
Role-specific AI mock interviewer built with CrewAI and Streamlit. Features a dark UI with interactive role cards, live word-count feedback, sidebar session stats, and a full summary screen. Runs in Demo Mode (no API key) or Live Mode (GPT-4o-mini via CrewAI) β auto-detected from .env. ποΈ CrewAI Role-Based AI Interviewer <p align="center"> <img src="https://img.shields.io/badge/Python-3.10%2B-3776AB?style=for-the-badge&logo=python&logoColor=white" /> <img src="https://img.shields.io/badge/CrewAI-Multi--Agent-FF6B35?style=for-the-badge&logo=robot&logoColor=white" /> <img src="https://img.shields.io/badge/Streamlit-1.35%2B-FF4B4B?style=for-the-badge&logo=streamlit&logoColor=white" /> <img src="https
This project extends a basic CrewAI mock interviewer into a role-specific interview simulator. It supports four job roles β Data Scientist, Web Developer, Product Manager, and UI/UX Designer β each with 6 hand-crafted questions.
The app auto-detects whether an OpenAI API key is present and switches between Demo Mode (rule-based feedback, zero API calls) and Live Mode (CrewAI Feedback Coach agent powered by GPT-4o-mini). Mentors running the app with a valid key get full AI feedback automatically.
| | π‘ Demo Mode | π’ Live Mode |
|---|---|---|
| API key required | No | Yes β OPENAI_API_KEY in .env |
| Feedback engine | Length-aware rule-based logic | CrewAI agent β GPT-4o-mini |
| All UI features | β
Full | β
Full |
| API calls made | β None | β
Per answer |
| Sidebar badge | π‘ Demo Mode | π’ Live Mode |
The mode is detected at startup β no code changes needed to switch between them.
#6C63FF β #00B4D8) tracking question completion#0f1117 base, gradient accents throughout| Role | Icon | Color | Focus Areas |
|------|------|-------|-------------|
| Data Scientist | π§ | #6C63FF | ML Β· Statistics Β· Modelling |
| Web Developer | π» | #00B4D8 | APIs Β· Frontend Β· HTTP |
| Product Manager | π | #F77F00 | Strategy Β· Metrics Β· Roadmap |
| UI/UX Designer | π¨ | #E63946 | Design Β· Research Β· Accessibility |
flowchart TD
A([π User Opens App]) --> B{OPENAI_API_KEY\npresent in .env?}
B -- Yes --> C[π’ Live Mode\nCrewAI + GPT-4o-mini]
B -- No --> D[π‘ Demo Mode\nRule-based feedback]
C --> E[Landing β Role Selection Cards]
D --> E
E --> F[User selects a role\nand clicks Start Interview]
F --> G[Load 6 role-specific questions]
G --> H{Questions\nremaining?}
H -- Yes --> I[Show styled question card\nwith gradient progress bar]
I --> J[User types answer\nLive word-count indicator]
J --> K[Submit Answer]
K --> L{Mode?}
L -- Live --> M[CrewAI Feedback Coach\nAgent β GPT-4o-mini]
L -- Demo --> N[Length-aware\nrule-based feedback]
M --> O[Render styled feedback card\nSave to session history]
N --> O
O --> H
H -- No --> P[Summary Screen\n3-col metrics + full Q&A review]
P --> Q{Try another role?}
Q -- Yes --> E
Q -- No --> R([β
Session complete])
style A fill:#238636,color:#fff
style R fill:#238636,color:#fff
style M fill:#6C63FF,color:#fff
style N fill:#F77F00,color:#fff
style C fill:#1a7f37,color:#fff
style D fill:#9e6a03,color:#fff
style P fill:#0d2137,color:#58a6ff
Full
.mmdsource:Flow/workflow.mmd
crewai-role-based-ai-interviewer/
β
βββ app.py # All-in-one Streamlit app
β # Β· Role config & questions
β # Β· Demo / Live feedback logic
β # Β· Custom CSS theme
β # Β· Landing, Interview, Summary screens
β
βββ requirements.txt # Python dependencies
βββ .env.example # API key template β copy to .env
βββ .gitignore # Ignores .env, __pycache__, .venv, etc.
βββ LICENSE # MIT License
βββ README.md # This file
β
βββ Flow/
βββ workflow.mmd # Mermaid source for the workflow diagram
1. Clone the repo
git clone https://github.com/SANJAI-s0/crewai-role-based-ai-interviewer.git
cd crewai-role-based-ai-interviewer
2. Create a virtual environment
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate
3. Install dependencies
pip install -r requirements.txt
4. Set up your API key (skip this for Demo Mode)
cp .env.example .env
Edit .env:
OPENAI_API_KEY=sk-...your-key-here...
5. Run the app
streamlit run app.py
Opens at http://localhost:8501.
1. Mode detection
On startup, the app reads OPENAI_API_KEY from .env. If a valid key is found, LIVE_MODE = True and a π’ badge appears in the sidebar. Otherwise, π‘ Demo Mode is used β no API calls are ever made.
2. Role selection The landing page renders 4 role cards in a 2Γ2 grid. Clicking a card highlights it with a role-specific color glow. The selected role and its skill tags are confirmed below before starting.
3. Interview loop Questions are shown one at a time. A gradient progress bar tracks completion. As the user types, a live word-count indicator turns green when the answer is in the ideal 30β120 word range.
4. Feedback
get_live_feedback() lazily imports CrewAI and LangChain, builds a Feedback Coach agent, runs a single-task Crew, and returns 2-3 sentences of constructive feedback.get_demo_feedback() checks word count and returns a contextual response from a curated pool β no imports, no API calls.5. Summary After all 6 questions, a summary screen shows a completion banner, a 3-column metrics strip, and a full expandable review of every Q&A with styled feedback cards.
Used only in Live Mode. Instantiated lazily β never created when running in Demo Mode.
Agent(
role="Interview Feedback Coach",
goal="Provide concise, constructive feedback on interview answers",
backstory=(
"You are an experienced hiring manager and interview coach. "
"You give short, honest, and encouraging feedback. Keep it to 2-3 sentences."
),
llm=ChatOpenAI(model="gpt-4o-mini", temperature=0.7),
)
Each submitted answer creates a Task for this agent and runs it through a single-agent Crew. The result is rendered in a styled blue feedback card.
| Technology | Version | Purpose |
|------------|---------|---------|
| Streamlit | β₯ 1.35 | Web UI, session state, custom CSS |
| CrewAI | β₯ 0.28 | Multi-agent orchestration (Live Mode) |
| LangChain OpenAI | β₯ 0.1 | LLM wrapper for GPT-4o-mini |
| OpenAI | β₯ 1.30 | GPT-4o-mini API (Live Mode) |
| python-dotenv | β₯ 1.0 | .env file loading |
This project is licensed under the MIT License.
Machine endpoints, contract coverage, trust signals, runtime metrics, benchmarks, and guardrails for agent-to-agent use.
Machine interfaces
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/crewai-sanjai-s0-crewai-role-based-ai-interviewer/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-sanjai-s0-crewai-role-based-ai-interviewer/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-sanjai-s0-crewai-role-based-ai-interviewer/trust"
Operational fit
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Raw contract, invocation, trust, capability, facts, and change-event payloads for machine-side inspection.
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-sanjai-s0-crewai-role-based-ai-interviewer/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-sanjai-s0-crewai-role-based-ai-interviewer/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-sanjai-s0-crewai-role-based-ai-interviewer/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-sanjai-s0-crewai-role-based-ai-interviewer/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-sanjai-s0-crewai-role-based-ai-interviewer/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-sanjai-s0-crewai-role-based-ai-interviewer/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-10-08T22:21:47.079Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "crewai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "multi-agent",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}Facts JSON
[
{
"factKey": "vendor",
"label": "Vendor",
"value": "Sanjai S0",
"category": "vendor",
"href": "https://github.com/SANJAI-s0/crewai-role-based-ai-interviewer",
"sourceUrl": "https://github.com/SANJAI-s0/crewai-role-based-ai-interviewer",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-05-31T06:18:36.371Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "protocols",
"label": "Protocol compatibility",
"value": "OpenClaw",
"category": "compatibility",
"href": "https://www.xpersona.co/api/v1/agents/crewai-sanjai-s0-crewai-role-based-ai-interviewer/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-sanjai-s0-crewai-role-based-ai-interviewer/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-05-31T06:18:36.371Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "handshake_status",
"label": "Handshake status",
"value": "UNKNOWN",
"category": "security",
"href": "https://www.xpersona.co/api/v1/agents/crewai-sanjai-s0-crewai-role-based-ai-interviewer/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-sanjai-s0-crewai-role-based-ai-interviewer/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true,
"metadata": {}
}
]Change Events JSON
[]
Sponsored
Ads related to crewai-role-based-ai-interviewer and adjacent AI workflows.