DEV Community

Mohammad Zeeshan
Mohammad Zeeshan

Posted on

Building My AI Twin: A Conversational Portfolio Powered by Google Gemini

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

I'm Zeeshan Mohammad, an AI researcher and developer.

With this portfolio, I wanted to move beyond static “About Me” pages. Instead, I built an AI twin — a conversational version of myself that visitors can actually talk to. It understands my background, projects, skills, research interests, and even a few personal stories. You don’t browse this portfolio — you talk to it.

Ask it anything.


Portfolio


Open in full screen: https://portfolio-249733701526.us-central1.run.app


Google AI Integration

The core of this portfolio is powered by Google Gemini 2.5 Flash, used through two AI-driven backend functions:

1. Chat Function

  • Handles natural, conversational queries
  • Uses streaming responses for real-time interaction
  • Configured with a detailed system prompt containing my:
    • education and research background
    • professional experience
    • projects and technical skills
    • communication style and personality

The AI responds in first person, as if you’re talking directly to me.

2. Suggested Questions Function

  • After each response, Gemini generates three contextual follow-up questions
  • Uses structured tool calling
  • Categorized by intent (projects, skills, personal, contact)
  • Helps visitors explore naturally without thinking about “what to ask next”

Design Decisions

  • Conversation-first UX

    No navigation menus. Exploration happens through natural language.

  • Dynamic contextual UI

    Ask about skills → skill cards appear

    Ask about contact → contact panel appears

    Ask about projects → project highlights surface automatically

  • Physics-based visualizations

    The Knowledge Graph uses spring physics to feel organic and alive.

  • Security guardrails

    The AI twin is constrained to portfolio-related topics and protected against prompt injection.


What I’m Most Proud Of

Interactive Knowledge Graph

A Connected-Papers-style visualization where skills, education, and experience appear as physics-based nodes.

Hover to explore relationships, click to instantly ask the AI about that topic.


Hidden Easter Eggs

  • Konami Code (↑ ↑ ↓ ↓ ← → ← → B A) Unlocks a “Code Master” achievement with confetti 🎉
  • Night Owl Automatically unlocks for visitors browsing between 2–5 AM 🦉
  • Time-aware greetings “Good morning” vs. “Working late?” based on the visitor’s local time

The AI Twin Personality

This isn’t a generic chatbot.

Ask it about:

  • my research on student performance prediction
  • why I moved from India to Hungary
  • my skydiving hobby
  • how I think about learning, teaching, and AI in education

It knows the stories — because they’re mine.


Skills Radar Chart

An animated SVG radar chart built with Framer Motion.
Each category is clickable and expands into detailed skill breakdowns with smooth transitions.


Tech Stack

  • Frontend: React 18, TypeScript, Vite
  • Styling: Tailwind CSS, shadcn/ui
  • AI: Google Gemini 2.5 Flash
  • Backend: Supabase (Database + Edge Functions)
  • Animations: Framer Motion
  • Deployment: Google Cloud Run (via Cloud Build & Artifact Registry)

Try asking my AI twin

  • “What’s your background?”
  • “Tell me about your coolest project”
  • “What drives you?”
  • “Any fun facts?”

Built with ❤️ using Google Gemini 2.5 Flash

Top comments (2)

Collapse
 
mewmewdevart profile image
Larissa Cristina

Hey Mohammad, I’m unable to view your website. When I try to access it in my browser, I get the following error message:

index-CZ92Kijn.js:740 Uncaught Error: supabaseUrl is required.
at x6 (index-CZ92Kijn.js:740:38785)
at new b6 (index-CZ92Kijn.js:740:39155)
at S6 (index-CZ92Kijn.js:740:42421)
at index-CZ92Kijn.js:740:42885

Do you know how I could fix this?

And I’m also participating in the challenge: I Built an Accessible Retro Gamified Portfolio (With Pixel Art, Games & OS System Vibes) 🎮
What do you think of mine? Feel free to give feedback, positive or negative, as I plan to improve it after the evaluation date.

Collapse
 
zestm profile image
Mohammad Zeeshan • Edited

Hi thanks, it should work now!

Yours is cool, how long does it take you to make all of it?! Really impressive!