Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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
4 changes: 4 additions & 0 deletions kits/assistant/ai-career-copilot/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
AGENTIC_GENERATE_CONTENT=your-flow-id
LAMATIC_API_URL=https://your-project.lamatic.dev/graphql
LAMATIC_PROJECT_ID=your-project-id
LAMATIC_API_KEY=your-api-
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated
41 changes: 41 additions & 0 deletions kits/assistant/ai-career-copilot/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# dependencies
/node_modules
/.pnp
.pnp.js
.yarn/install-state.gz

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env*.local
.env

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts

.env
.env.local
node_modules
.vscode
.next
156 changes: 156 additions & 0 deletions kits/assistant/ai-career-copilot/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
# πŸš€ AI Career Copilot

An AI-powered career assistant that analyzes resumes and provides personalized career guidance including skill analysis, job recommendations, learning roadmaps, project suggestions, and interview preparation.

---

## ✨ Features

* 🎯 **Skill Analysis** – Extract and analyze skills from resumes
* πŸ“Š **Readiness Score** – Evaluate how job-ready you are
* πŸ’Ό **Role Suggestions** – Get suitable job roles
* πŸ—ΊοΈ **Learning Roadmap** – Step-by-step improvement plan
* πŸš€ **Project Ideas** – Build real-world portfolio projects
* πŸ’¬ **Interview Questions** – Practice with tailored questions

---

## πŸ›  Tech Stack

* **Frontend:** Next.js, React, Tailwind CSS
* **Backend:** Lamatic AI Flow (GraphQL API)
* **API Communication:** Axios

---

## πŸ“¦ Prerequisites

* Node.js 18+
* npm
* Lamatic Account
* Deployed Lamatic Flow

---

## βš™οΈ Environment Variables

Create a `.env` file:

```env
LAMATIC_API_KEY=YOUR_API_KEY
LAMATIC_PROJECT_ID=YOUR_PROJECT_ID
LAMATIC_API_URL=YOUR_API_URL
AGENTIC_GENERATE_CONTENT=YOUR_FLOW_ID
```

⚠️ Do NOT commit real API keys

---

## πŸš€ Installation & Setup

```bash
git clone https://github.com/Lamatic/AgentKit.git
cd AgentKit/kits/assistant/ai-career-copilot
npm install
npm run dev
```
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated

Open:
πŸ‘‰ http://localhost:3000

---

## πŸ§ͺ Usage

1. Enter your **resume text**
2. Select your **target domain** (e.g., Web Development)
3. Click **Analyze**
4. Get:

* Skills
* Missing skills
* Roles
* Roadmap
* Projects
* Interview questions

---

## πŸ“‚ Project Structure

```
ai-career-copilot/
β”œβ”€β”€ app/ # Next.js pages
β”œβ”€β”€ components/ # UI components
β”œβ”€β”€ actions/ # Server actions
β”œβ”€β”€ lib/ # API client (Lamatic)
β”œβ”€β”€ flows/ # Exported Lamatic flow
β”œβ”€β”€ .env.example # Env template
β”œβ”€β”€ config.json # Kit config
└── README.md
```
Comment thread
Durvankur-Joshi marked this conversation as resolved.

---

## πŸ”— Lamatic Flow

* **Flow ID:** `66c98d92-70da-4eec-82b0-af4f01be9cd5`
* **Type:** Synchronous GraphQL Workflow

---

## 🌐 Deployment

You can deploy using Vercel:

* Set root directory:

```
kits/assistant/ai-career-copilot
```

* Add environment variables in Vercel dashboard

---

## πŸ“Œ Example Input

**Resume:**

```
I know JavaScript, React, and basic Node.js
```

**Domain:**

```
Web Development
```

---

## πŸ“ˆ Output Includes

* Skills & Missing Skills
* Career Roles
* Readiness Score
* Learning Roadmap
* Suggested Projects
* Interview Questions

---

## 🀝 Contribution

This project is built as part of a Lamatic AgentKit contribution.

---

## πŸ‘¨β€πŸ’» Author

**Durvankur Joshi**

---

## ⭐ If you like this project, give it a star!
58 changes: 58 additions & 0 deletions kits/assistant/ai-career-copilot/actions/orchestrate.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
'use server';

import { lamaticClient } from '@/lib/lamatic-client';
import { CareerAnalysisInput, ApiResponse } from '@/types';

export async function analyzeCareer(
input: CareerAnalysisInput
): Promise<ApiResponse> {
try {
console.log('πŸš€ Analyzing career with input:', {
resumeLength: input.resume_text?.length,
domain: input.domain,
});

// βœ… Validate input
if (!input.resume_text || input.resume_text.trim().length === 0) {
return {
success: false,
error: 'Resume text is required',
};
}

if (!input.domain || input.domain.trim().length === 0) {
return {
success: false,
error: 'Target domain is required',
};
}

// βœ… Call Lamatic API (MAIN FIX)
const result = await lamaticClient.executeCareerAnalysis({
resume_text: input.resume_text,
domain: input.domain,
});

// βœ… Return success response
return {
success: true,
data: result,
timestamp: new Date().toISOString(),
};
Comment thread
Durvankur-Joshi marked this conversation as resolved.

} catch (error) {
console.error('❌ Career analysis error:', error);

let errorMessage =
'Failed to analyze career data. Please check your configuration.';

if (error instanceof Error) {
errorMessage = error.message;
}

return {
success: false,
error: errorMessage,
};
}
}
27 changes: 27 additions & 0 deletions kits/assistant/ai-career-copilot/app/globals.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
body {
@apply bg-gray-50 text-gray-900;
}
}

@layer components {
.btn-primary {
@apply bg-primary-600 text-white px-6 py-2 rounded-lg hover:bg-primary-700 transition-colors duration-200 font-medium;
}

.btn-secondary {
@apply bg-gray-200 text-gray-800 px-6 py-2 rounded-lg hover:bg-gray-300 transition-colors duration-200 font-medium;
}

.card {
@apply bg-white rounded-xl shadow-md p-6 border border-gray-100;
}

.input-field {
@apply w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent outline-none transition;
}
}
29 changes: 29 additions & 0 deletions kits/assistant/ai-career-copilot/app/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import type { Metadata } from 'next';
import { Inter } from 'next/font/google';
import './globals.css';

const inter = Inter({ subsets: ['latin'] });

export const metadata: Metadata = {
title: 'AI Career Copilot | Your Personal Career Assistant',
description: 'AI-powered career analysis tool that helps you identify skills, find suitable roles, and create personalized learning paths.',
keywords: 'career, AI, resume analysis, job recommendations, skill development, career planning',
authors: [{ name: 'Durvankur Joshi ' }],
openGraph: {
title: 'AI Career Copilot',
description: 'Your personal AI career assistant',
type: 'website',
},
};

export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="en">
<body className={inter.className}>{children}</body>
</html>
);
}
Loading