DEV Community

Matteo Avigni
Matteo Avigni

Posted on

My Portfolio isn't just static anymore: It talks using Gemini AI & Cloud Run πŸš€

New Year, New You Portfolio Challenge Submission

This is a submission for the New Year, New You Portfolio Challenge Presented by Google AI

About Me

Hi! I'm Matteo Avigni, a Software Developer & Data Engineer with a background in Quantitative Finance. I specialize in transforming complex data into high-performing Web Apps and Desktop Solutions.

Portfolio

Here is my new AI-powered portfolio:

(If the embed doesn't load immediately, you can visit the site here: Live Demo)

How I Built It

For this challenge, I decided to upgrade my static GitHub Pages portfolio into a dynamic, AI-powered web application hosted on Google Cloud Run.

The Tech Stack:

  • Backend: Python (Flask) served via Gunicorn.
  • AI: Google Gemini API (Model: gemini-2.5-flash) for the chat assistant.
  • Infrastructure: Docker container deployed on Google Cloud Run.
  • Frontend: HTML5, CSS3, JavaScript (Vanilla).

Key Features:

  1. AI Chat Assistant: I integrated a chatbot that acts as my "Virtual Agent". It uses gemini-2.5-flash to answer questions about my CV, skills, and projects in real-time.
  2. Dynamic Context: The AI is context-aware. I used "System Instructions" to feed it my professional profile, so it answers exactly like I would during an interview.
  3. Smart Language Detection: The backend detects the user's language (Italian or English) and instructs Gemini to reply in the same language.
  4. Cloud Native: The app is containerized and runs serverless on Cloud Run, ensuring scalability and zero maintenance.

Why Google Cloud Run?

I chose Cloud Run because I needed a way to host a Python backend (for the API key security) without managing servers. The gcloud deployment was seamless, and the "Scale to Zero" feature ensures I don't pay when no one is visiting.

What I'm Most Proud Of

I'm particularly proud of the "Chat with my CV" feature. Instead of forcing recruiters to read a long PDF, they can now simply ask: "What is Matteo's experience with Django?" and get an immediate, accurate answer. It makes the portfolio interactive and demonstrates my skills with GenAI and Cloud Engineering in practice.

Source Code / Repository:
https://github.com/matteoavigni/portfolio-challenge


Submitted for the New Year, New You Portfolio Challenge 2026.

Top comments (0)