Skip to content

VIKAS9793/ai-interviewer-google-adk

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

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors