Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
INTERVIEW_PREP_FLOW_ID="89a0f4dc-3a9d-46c2-acdf-167ed4194583"
LAMATIC_API_URL="YOUR_API_ENDPOINT"
LAMATIC_PROJECT_ID="YOUR_PROJECT_ID"
LAMATIC_API_KEY="YOUR_API_KEY"
88 changes: 88 additions & 0 deletions kits/assistant/interview-preparation/interview-prep-kit/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# 🎯 Interview Preparation Coach β€” AgentKit

An AI-powered interview preparation coach that evaluates candidate answers for both behavioral and technical questions, providing structured feedback with scores, strengths, areas for improvement, and better answer suggestions.

## What It Does

- Accepts a job description/question, candidate resume, and interview answer
- Evaluates the answer from **behavioral** and **technical** perspectives
- Returns a score (1–10), strengths, improvements, and a suggested better answer for each dimension
- Powered by Groq's `llama-3.1-8b-instant` model via Lamatic's InstructorLLM node

## Prerequisites

- [Lamatic Account](https://lamatic.ai) with the flow deployed
- [Groq API Key](https://console.groq.com) configured in Lamatic
- Node.js 18+

## Environment Variables

Copy `.env.example` to `.env` and fill in your values:

```bash
cp .env.example .env
```

| Variable | Description |
|---|---|
| `INTERVIEW_PREP_FLOW_ID` | Your Lamatic Flow ID |
| `LAMATIC_API_URL` | Your Lamatic API endpoint |
| `LAMATIC_PROJECT_ID` | Your Lamatic project ID |
| `LAMATIC_API_KEY` | Your Lamatic API key |

## Setup & Run

```bash
# Install dependencies
npm install

# Start development server
npm run dev
```

Open [http://localhost:3000](http://localhost:3000) in your browser.

## Usage

Send a POST request to the API or use the UI:

```json
{
"jobDescription": "Tell me about a time you resolved a conflict in your team.",
"resume": "5 years of software engineering experience...",
"userAnswer": "In my previous role, I encountered a disagreement between two engineers..."
}
```

### Example Response

```json
{
"behavioral_score": 7,
"behavioral_strengths": ["Good conflict awareness", "Clear communication"],
"behavioral_improvements": ["Needs more specific outcomes", "Missing follow-up actions"],
"behavioral_better_answer": "A stronger answer would include the specific steps taken...",
"technical_score": 6,
"technical_strengths": ["Understands the problem domain"],
"technical_improvements": ["Lacks technical depth", "No metrics mentioned"],
"technical_better_answer": "A more complete answer would reference specific tools used..."
}
```

## Flow Architecture

```
API Request β†’ Behaviour_Prep (LLM) ─┐
β”œβ†’ API Response
Technical_Prep (LLM) β”€β”˜
```

## Lamatic Flow

- **Flow ID:** `89a0f4dc-3a9d-46c2-acdf-167ed4194583`
- **Model:** `groq/llama-3.1-8b-instant`
- **Provider:** Groq

## Contributing

See the main [CONTRIBUTING.md](https://github.com/Lamatic/AgentKit/blob/main/CONTRIBUTING.md) for guidelines.
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"name": "Interview Preparation",
"description": "An AI-powered interview preparation coach that evaluates candidate answers for both behavioral and technical questions, providing structured feedback with scores, strengths, improvements, and better answer suggestions.",
"tags": ["πŸ€– Agentic", "✨ Generative", "🎯 Assistant"],
"author": {
"name": "Interview Prepration",
"email": ""
},
"steps": [
{
"id": "89a0f4dc-3a9d-46c2-acdf-167ed4194583",
"type": "mandatory",
"envKey": "INTERVIEW_PREP_FLOW_ID"
}
],
"integrations": [
{
"name": "Groq",
"description": "LLM provider for evaluating interview answers using llama-3.1-8b-instant"
}
],
"features": [
"Behavioral interview answer evaluation",
"Technical interview answer evaluation",
"Structured feedback with scores (1-10)",
"Strengths and improvements analysis",
"Better answer suggestions"
],
"demoUrl": "",
"githubUrl": "https://github.com/Lamatic/AgentKit/tree/main/kits/assistant/interview-preparation",
"deployUrl": "",
"documentationUrl": ""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Interview Preparation Evaluator β€” Flow

## Overview
This flow evaluates a candidate's interview answer using AI, providing structured feedback on both behavioral and technical dimensions.

## Flow ID
```
89a0f4dc-3a9d-46c2-acdf-167ed4194583
```

## Inputs

| Field | Type | Description |
|---|---|---|
| `jobDescription` | string | The interview question being asked |
| `resume` | string | Candidate's background/resume |
| `userAnswer` | string | The candidate's answer to evaluate |

## Outputs

| Field | Type | Description |
|---|---|---|
| `behavioral_score` | number | Score out of 10 for behavioral aspects |
| `behavioral_strengths` | array | List of behavioral strengths |
| `behavioral_improvements` | array | List of behavioral improvements |
| `behavioral_better_answer` | string | Suggested better behavioral answer |
| `technical_score` | number | Score out of 10 for technical aspects |
| `technical_strengths` | array | List of technical strengths |
| `technical_improvements` | array | List of technical improvements |
| `technical_better_answer` | string | Suggested better technical answer |

## Nodes
1. **API Request** β€” Receives inputs
2. **Behaviour_Prep** (InstructorLLM) β€” Evaluates behavioral aspects using Groq llama-3.1-8b-instant
3. **Technical_Prep** (InstructorLLM) β€” Evaluates technical aspects using Groq llama-3.1-8b-instant
4. **API Response** β€” Returns combined results
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{
"flowId": "89a0f4dc-3a9d-46c2-acdf-167ed4194583",
"trigger": {
"type": "API Request",
"schema": {
"jobDescription": "string",
"resume": "string",
"userAnswer": "string"
}
},
"nodes": [
{
"nodeName": "Behaviour_Prep",
"type": "InstructorLLMNode",
"model": "groq/llama-3.1-8b-instant",
"provider": "groq",
"schema": {
"type": "object",
"properties": {
"score": { "type": "number", "required": true },
"strengths": { "type": "array", "items": { "type": "string" } },
"improvements": { "type": "array", "items": { "type": "string" } },
"better_answer": { "type": "string", "required": true }
}
},
"prompts": {
"system": "You are a senior hiring manager evaluating a job candidate's interview answer. Give honest, specific, and constructive feedback. Always respond in valid JSON.",
"user": "Evaluate this interview answer and provide structured feedback.\nQuestion: {{trigger.jobDescription}}\nCandidate Answer: {{trigger.userAnswer}}\nReturn a JSON object with this exact structure:\n{\n \"score\": 7,\n \"strengths\": [\"point1\", \"point2\"],\n \"improvements\": [\"point1\", \"point2\"],\n \"better_answer\": \"A more complete answer would be...\"\n}"
}
},
{
"nodeName": "Technical_Prep",
"type": "InstructorLLMNode",
"model": "groq/llama-3.1-8b-instant",
"provider": "groq",
"schema": {
"type": "object",
"properties": {
"score": { "type": "number", "required": true },
"strengths": { "type": "array", "items": { "type": "string" } },
"improvements": { "type": "array", "items": { "type": "string" } },
"better_answer": { "type": "string", "required": true }
}
},
"prompts": {
"system": "You are a senior hiring manager evaluating a job candidate's interview answer. Give honest, specific, and constructive feedback. Always respond in valid JSON.",
"user": "Evaluate this interview answer and provide structured feedback.\nQuestion: {{trigger.jobDescription}}\nCandidate Answer: {{trigger.userAnswer}}\nReturn a JSON object with this exact structure:\n{\n \"score\": 7,\n \"strengths\": [\"point1\", \"point2\"],\n \"improvements\": [\"point1\", \"point2\"],\n \"better_answer\": \"A more complete answer would be...\"\n}"
}
}
],
"response": {
"behavioral_score": "{{Behaviour_Prep.score}}",
"behavioral_strengths": "{{Behaviour_Prep.strengths}}",
"behavioral_improvements": "{{Behaviour_Prep.improvements}}",
"behavioral_better_answer": "{{Behaviour_Prep.better_answer}}",
"technical_score": "{{Technical_Prep.score}}",
"technical_strengths": "{{Technical_Prep.strengths}}",
"technical_improvements": "{{Technical_Prep.improvements}}",
"technical_better_answer": "{{Technical_Prep.better_answer}}"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"type": "object",
"properties": {
"jobDescription": {
"type": "string",
"description": "The interview question or job description context for evaluation",
"required": true,
"example": "Tell me about a time you handled a conflict in your team."
},
"resume": {
"type": "string",
"description": "The candidate's resume or background information",
"required": true,
"example": "5 years of experience in software engineering, worked at XYZ company..."
},
"userAnswer": {
"type": "string",
"description": "The candidate's interview answer to be evaluated",
"required": true,
"example": "In my previous role, I encountered a situation where two team members disagreed on the technical approach..."
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{
"id": "89a0f4dc-3a9d-46c2-acdf-167ed4194583",
"name": "Interview Preparation Evaluator",
"description": "Evaluates interview answers for behavioral and technical questions using AI, providing detailed structured feedback.",
"version": "1.0.0",
"type": "flow",
"nodes": [
{
"id": "trigger",
"type": "API Request",
"description": "Receives jobDescription, resume, and userAnswer as inputs"
},
{
"id": "Behaviour_Prep",
"type": "Generate JSON (InstructorLLM)",
"description": "Evaluates the behavioral aspect of the interview answer",
"model": "groq/llama-3.1-8b-instant",
"outputs": ["score", "strengths", "improvements", "better_answer"]
},
{
"id": "Technical_Prep",
"type": "Generate JSON (InstructorLLM)",
"description": "Evaluates the technical aspect of the interview answer",
"model": "groq/llama-3.1-8b-instant",
"outputs": ["score", "strengths", "improvements", "better_answer"]
},
{
"id": "response",
"type": "API Response",
"description": "Returns combined behavioral and technical evaluation results"
}
],
"inputs": {
"jobDescription": "string",
"resume": "string",
"userAnswer": "string"
},
"outputs": {
"behavioral_score": "number",
"behavioral_strengths": "array",
"behavioral_improvements": "array",
"behavioral_better_answer": "string",
"technical_score": "number",
"technical_strengths": "array",
"technical_improvements": "array",
"technical_better_answer": "string"
},
"provider": "groq",
"createdAt": "2026-03-26"
}
Loading