Skip to content

Repository files navigation

AI Technical Interviewer Banner

🎯 AI Technical Interviewer

Powered by Google Agent Development Kit (ADK) & Gemini

Google ADK Gemini A2UI Cloud Run

Features β€’ Quick Start β€’ Architecture β€’ Deploy β€’ Contributing


v5.0.0 - A2UI Web Interface βœ… PRODUCTION READY (2025-12-30)
Beautiful, component-based web UI via A2A-ADK bridge. Cards rendering successfully - verified production-ready. Includes Sequential Safety, guided learning, and multi-dimensional scoring. Powered by Google's Agent Development Kit, Gemini, and A2UI. See A2UI Integration Journey.

Latest Update (2025-12-30 18:52 IST):

  • βœ… A2UI Card rendering verified working with interview flow screenshots
  • βœ… Multi-turn conversation with scoring (8.5/10) tested successfully
  • βœ… Bridge fixes: path corrections, session handling, data variable initialization
  • βœ… Production-ready implementation

✨ Features

Core Capabilities

Feature Description
πŸŽ“ Guided Learning Mode Study CS concepts with Socratic method & progressive hints
🎯 Multi-Agent Scoring Parallel evaluation: technical, communication, problem-solving
🎚️ Difficulty Modes Quick Screen (15min), Standard (45min), Deep Technical (90min)
πŸ’¬ Answer Critique Get improvement suggestions & validation feedback
🧠 Adaptive Questions Dynamic difficulty based on performance
πŸ’» Code Analysis Review and analyze Python code logic
πŸ›‘οΈ Safety Screening Content moderation & bias detection
⚑ Sequential Safety Automated risk assessment blocks dangerous code (v4.6.0)
🌐 A2UI Web Interface Beautiful Lit-based web UI with A2A-ADK bridge (v4.7.1)
πŸ“Ž Resume Support Paste resume text for analysis (file upload limited by Gemini)

Technical

Feature Description
🌐 ADK Web UI Beautiful interface out of the box
☁️ Cloud Ready One-click deploy to GCP Cloud Run (Free Tier)
πŸ“Š Session State Persistent interview sessions
πŸ”„ Multi-Agent 6 specialized sub-agents with orchestration
πŸ“‹ Context Files Conductor-style config (.adk/) for team alignment (v4.6.0)

πŸš€ Quick Start

Prerequisites

Installation

# Clone
git clone https://github.com/VIKAS9793/ai-interviewer-google-adk.git
cd ai-interviewer-google-adk
git checkout google-adk

# Setup
python -m venv .venv
.venv\Scripts\activate  # Windows | source .venv/bin/activate # Linux/Mac
pip install -r requirements.txt

# Configure
cp .env.example .env
# Add your GOOGLE_API_KEY to .env

# Run (IMPORTANT: Must run from src/ directory)
cd src
python -m google.adk.cli web

Open http://127.0.0.1:8000 πŸš€

A2UI Web Interface (v5.0.0) βœ…

Status: Production-ready, verified 2025-12-30 with interview flow testing.

Run 3 terminals simultaneously:

# Terminal 1 - ADK Backend (Port 8000) - MUST run from src/
cd src
python -m google.adk.cli web

# Terminal 2 - A2A Bridge (Port 10002)
python src/adk_interviewer/a2ui/bridge.py

# Terminal 3 - A2UI Frontend (Port 3000)
cd a2ui-repo/samples/client/lit/shell
npx -y vite dev --port 3000

Open http://localhost:3000/?app=interviewer 🎨

βœ… Verified Working: Cards render correctly, schema compliant, production-ready
⚠️ Windows Users: Use npx vite dev directly, NOT npm run dev (wireit incompatibility)

Interview Flow Screenshots

See the complete interview experience in action:

Step Screenshot
1. Question Question
2. Answer Answer
3. Evaluation Evaluation
4. Feedback Feedback
5. Summary Summary

πŸ—οΈ Architecture

Three-Tier Bridge Architecture

AI Interviewer Architecture

System Components

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    A2UI Frontend (v4.7.1)                           β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚   Lit Renderer  │──────────▢│  A2A-ADK Bridge (:10002)       β”‚  β”‚
β”‚  β”‚   :3000         β”‚   A2A     β”‚  FastAPI Β· JSON-RPC Translator β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜           β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

                                           β”‚
                                           β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      ADK Backend (:8000)                            β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚   Web UI    β”‚  β”‚ Session Service  β”‚  β”‚  run_sse Endpoint   β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                           β”‚
                                           β–Ό
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚      root_agent (Orchestrator)             β”‚
                  β”‚  Routes tasks to specialist sub-agents     β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                  β”‚
            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
            β”‚           6 Specialist Sub-Agents         β”‚
            β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
            β”‚ β€’ interviewer_agent (Questions/Eval)      β”‚
            β”‚ β€’ resume_agent     (Resume/JD Analysis)   β”‚
            β”‚ β€’ coding_agent     (Code + Safety v4.6)   │──▢ Gemini 2.5
            β”‚ β€’ safety_agent     (Content Moderation)   β”‚
            β”‚ β€’ study_agent      (Guided Learning)      β”‚
            β”‚ β€’ critic_agent     (Answer Critique)      β”‚
            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Tech Stack

Layer Technology
Frontend (v4.7) A2UI Lit Renderer
Bridge (v4.7) FastAPI + httpx
Framework Google Agent Development Kit
LLM Gemini 2.5 Flash-Lite
Web UI ADK Web (adk web)
Deployment Google Cloud Run
State ADK SessionService

πŸ’‘ Usage Examples

Interview Mode

πŸ‘€ "Start a system design interview"
πŸ€– Interviews you with adaptive questions

Study Mode (v4.2)

πŸ‘€ "Explain binary search trees"
πŸŽ“ In-depth concept explanation with examples

πŸ‘€ "Give me a hint for two-sum problem"
πŸŽ“ Level 1: Gentle direction
πŸŽ“ Level 2: Algorithm suggestion  
πŸŽ“ Level 3: Detailed pseudocode

Difficulty Modes (v4.4)

πŸ‘€ "Quick screen for junior developer"
⚑ 15-min, 3-5 easy/medium questions

πŸ‘€ "Standard technical interview"
🎯 45-min, comprehensive assessment

πŸ‘€ "Deep technical for senior engineer"
πŸ”¬ 90-min, expert-level questions

☁️ Deployment

Google Cloud Run (Free Tier)

# Authenticate
gcloud auth login

# Deploy (one command!)
gcloud run deploy ai-interviewer \
  --source . \
  --region us-central1 \
  --allow-unauthenticated \
  --set-env-vars GOOGLE_API_KEY=your_key_here

Free Tier: 2M requests/month, 360,000 GB-seconds

See docs/DEPLOYMENT.md for details.


πŸ“š Documentation

Core Docs

Research & Planning

Architecture Decisions


🀝 Contributing

Contributions welcome! See CONTRIBUTING.md.


οΏ½ License

MIT License - see LICENSE


πŸ™ Acknowledgments

  • Google ADK Team for the amazing framework
  • Google A2UI Team for agent-to-user interface protocol
  • Gemini AI for powering intelligence
  • Built with Google Antigravity
  • Open source community for inspiration

Built with ❀️ using Google's Agent Development Kit

⭐ Star on GitHub

About

AI Technical Interviewer with Google ADK, Gemini and A2UI. Multi-agent system for adaptive interviews, guided learning, and code analysis with beautiful web UI.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages