About This Project
Project Objective
This is an AI-powered interactive CV that acts as my professional alter ego. Instead of a static resume, visitors can have dynamic conversations about my experience, skills, and projects through an intelligent chatbot.
Main Objective: Demonstrate my technical capabilities through a real project that integrates multiple advanced technologies (AI, serverless architecture, voice processing, RAG) while allowing visitors to learn about both my professional and personal profile in an interactive way.
What You Can Ask
Technical Questions About This Project
System architecture, chatbot components, technologies used, infrastructure costs, design decisions, RAG implementation, AI tools integration, etc.
Questions About Gonzalo López
My work experience, previous projects, technical skills, personality, interests, education, career path, work approach, etc.
Example Questions:
Technical:
- "How does the entire audio processing pipeline work in the project?"
- "How does the implemented RAG system work?"
- "What serverless architecture do you use?"
- "How much does it cost to maintain this infrastructure?"
Personal:
- "What's your experience with Google Cloud?"
- "What AI projects have you developed?"
- "How do you approach system design?"
- "What motivates you as a developer?"
Technical Architecture
System Flow
The core strength of this project lies in its seamless integration of multiple technologies. Here's how everything works together:
Frontend
User interface built with vanilla JavaScript, handling both text and voice interactions
Backend
FastAPI server processing requests and orchestrating the entire workflow
Firestore
Storing and retrieving conversation history for context continuity
Tools
Intelligent function calling for both voice and chat interactions
RAG (LlamaIndex)
Retrieval-Augmented Generation for accessing relevant documents
TTS (Chirp)
High-quality voice synthesis using Google Chirp for natural responses
Response
Generated response sent back to frontend for display
Key Components
AI Engine
OpenAI GPT-4o-mini with function calling for intelligent responses
RAG System
LlamaIndex with semantic chunking for document retrieval
Backend
FastAPI deployed on Google Cloud Run (serverless)
Frontend
Vanilla JS deployed on Google Cloud Run (serverless)
Database
Firestore for conversation persistence with TTL
Voice Processing
Gemini Flash 2.5 for multimodal audio processing and transcription
Text-to-Speech
Google Chirp TTS for natural voice responses with language detection
AI Agent with Intelligent Tools
The chatbot is powered by an intelligent AI agent that can execute specific tools to provide accurate and contextual responses. This system uses OpenAI's function calling capabilities to dynamically choose the right tool for each query.
Technical Documents Search
Purpose: Access technical project documentation and implementation details
When Used: Questions about specific projects, technologies, or technical implementations
Index: technical_projects
Personal Life Documents Search
Purpose: Access personal experience, education, and background information
When Used: Questions about experience, skills, education, or personal background
Index: personal_life
How the Agent Works
Query Analysis
AI analyzes the user's question to determine intent and context
Tool Selection
Automatically selects the most appropriate tool based on the query type
Document Search
Performs semantic search in the relevant document index
Response Generation
Generates contextual response using retrieved information
Key Features
Technology Stack
Backend
Frontend
Infrastructure
It's not just a CV,
it's a virtual interview
Ask me anything about my experience, technical projects, or any professional topic
Real-time responses based on my actual knowledge. Experience the future of professional networking through AI-powered conversations.
Start with these questions
Technical
Personal
Hello! I'm Gonzalo's AI assistant. I'm here to help you learn about my background, skills, and experience. What would you like to know?