Empowering Coders with AI - An intelligent Chrome extension and platform designed to enhance coding skills through real-time guidance, performance tracking, and gamification.
India produces over 1.5 million engineering graduates annually, but 75-80% struggle to find IT jobs due to skill gaps:
- Only 3.84% have required technical skills for software roles
- Over 60% fail campus recruitment aptitude tests
- 94% of hiring managers prioritize DSA proficiency
- Graduates often settle for low-paying, non-technical roles
Trixie addresses this critical skills gap through interactive AI-powered learning.
- Real-time assistance while coding on platforms like LeetCode
- Context-aware AI powered by Google's Gemini 2.0 Flash model
- Session-based conversations that maintain problem context
- Guided learning approach - provides hints, not direct solutions
- Professional tone with structured, concise responses
- Visual progress tracking with pie charts showing solved problems by difficulty
- Personalized insights into coding strengths and weaknesses
- Real-time data integration from coding platforms
- Performance analytics to identify improvement areas
- Mentor/Teacher portal for tracking student progress
- Comprehensive reporting based on real-time coding data
- Weakness analysis and improvement recommendations
Frontend: React.js + Tailwind CSS
Backend: Node.js + Express.js
Database: Supabase
AI Engine: Google Gemini 2.0 Flash API
Visualization: Recharts.js
Extension: Chrome Extension APIs (Manifest V3)
trixie/
โโโ extension/ # Chrome Extension
โ โโโ manifest.json # Extension configuration
โ โโโ background.js # Service worker
โ โโโ content-scripts/ # Content injection scripts
โ โโโ extension-ui/ # Popup interface
โโโ backend-chatbot/ # AI Backend Server
โ โโโ server.js # Express server with Gemini integration
โ โโโ chatbot.js # AI response handler
โ โโโ package.json # Backend dependencies
โโโ frontend/ # React Dashboard
โ โโโ src/ # React components
โโโ README.md
- Node.js (v14 or higher)
- Chrome Browser
- Google Gemini API Key
git clone https://github.com/Lionel-Logan/Trixie---AI-Chatbot.git
cd Trixie---AI-Chatbotcd backend-chatbot
npm installCreate .env file:
GEMINI_API_KEY=your_gemini_api_key_hereStart the backend server:
node server.jsServer will run on http://localhost:5000
cd frontend
npm install
npm start- Open Chrome and navigate to
chrome://extensions/ - Enable Developer Mode (top-right toggle)
- Click Load unpacked and select the
extensionfolder - The Trixie extension icon should appear in your toolbar
- Visit LeetCode: Navigate to any problem on LeetCode
- Activate Trixie: Click the extension icon or it will auto-activate
- Start Chatting: Begin conversation about the current problem
- Get Guidance: Receive hints, explanations, and problem-solving strategies
User: "I'm stuck on this two-sum problem"
Trixie: "Let's break this down! What approach are you considering?
Are you thinking about using a brute force method or something more
efficient? What's your initial strategy for finding two numbers that
sum to the target?"
- Manifest V3 compliance for modern Chrome extension standards
- Content Scripts inject on LeetCode problem pages
- Background Service Worker manages extension lifecycle
- Popup Interface for direct user interaction
- Google Gemini Integration with custom pre-prompt engineering
- Session Management maintains conversation context per user
- Problem-Aware Responses adapts to current LeetCode problem
- CORS Enabled for cross-origin requests from extension
// Maintains context across messages
const userSessions = {};
// Each user gets personalized session tracking
if (!userSessions[userId]) {
userSessions[userId] = {
hasPrePromptExecuted: false,
chatHistory: [],
problemTitle: problemTitle || ""
};
}- Pre-prompt establishes Trixie's personality and behavior
- Context injection includes problem title and chat history
- Response guidelines ensure educational, not solution-focused answers
Purpose: Main chat interface with AI
{
"message": "User's question",
"problemTitle": "Current LeetCode problem",
"userId": "unique_user_identifier"
}Response:
{
"response": "Trixie's AI-generated response"
}Purpose: Reset user's chat session
{
"userId": "unique_user_identifier"
}{
"name": "trixie-chatbot",
"version": "1.0.0",
"description": "Chatbot backend for Trixie extension",
"main": "server.js",
"dependencies": {
"@google/generative-ai": "^0.24.0",
"cors": "^2.8.5",
"dotenv": "^16.4.7",
"express": "^4.18.2"
}
}{
"manifest_version": 3,
"name": "Trixie Chatbot",
"version": "1.0",
"description": "A chatbot assistant for coding platforms",
"permissions": ["activeTab", "storage", "scripting", "tabs"],
"host_permissions": ["http://localhost:5000/*"],
"background": {
"service_worker": "background.js"
},
"content_scripts": [
{
"matches": ["*://leetcode.com/problems/*"],
"js": ["content-scripts/content.js"]
}
]
}- โ Chrome Extension with LeetCode integration
- โ AI-powered chat assistance
- โ Session-based conversations
- ๐ React Dashboard with progress visualization
- ๐ Supabase integration for data persistence
- ๐ Multi-platform support (HackerRank, CodeChef)
- ๐ Admin dashboard for educators
- ๐ Advanced analytics and reporting
- ๐ฏ Personalized learning paths
- ๐ Gamification elements
- Professional tone: No emojis in AI responses
- Concise responses: 100-word limit for AI
- Educational focus: Hints over direct solutions
- Error handling: Comprehensive try-catch blocks
- Never provide complete code solutions
- Ask engaging follow-up questions
- Guide through problem-solving thought process
- Maintain conversation flow with critical thinking prompts
- TinkHack 2.0 for providing the platform
- Google Gemini for AI capabilities
- LeetCode for the coding platform integration
- Open Source Community for inspiration and support