DEV Community

ohmygod
ohmygod

Posted on

Building My AI-Powered Developer Portfolio with Gemini and 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

Hey there! I'm a full-stack developer who's been building for the web for over 5 years. I've always felt my old portfolio was a static graveyard of links β€” it didn't show who I am as a developer. This challenge was the perfect kick to rebuild from scratch with modern AI tools and actually deploy something I'm proud to share.

What I wanted to express: a portfolio that's not just a list of projects, but an interactive experience where visitors can have a conversation with an AI that knows my work, my tech stack, and my journey.

Portfolio

My portfolio is deployed on Google Cloud Run and features:

  • πŸ€– Gemini-Powered Chat β€” An AI assistant trained on my resume, projects, and blog posts that answers questions about my experience in natural language
  • 🎨 Dynamic Project Showcase β€” Projects are rendered as interactive cards with live previews, generated descriptions, and tech-stack breakdowns
  • πŸ“Š Skills Visualization β€” An animated radar chart showing my competencies, auto-updated from my GitHub activity via the Gemini API
  • πŸŒ— Adaptive Theming β€” Light/dark mode with smooth transitions and a Gemini-generated color palette that shifts based on time of day

Live URL: portfolio-devnewyear2026-abc123.a.run.app

{% cloud_run portfolio-devnewyear2026-abc123.a.run.app --labels dev-tutorial=devnewyear2026 %}

How I Built It

Tech Stack

  • Frontend: Next.js 15 + Tailwind CSS + Framer Motion
  • Backend: Node.js API routes on Cloud Run
  • AI: Google AI Studio (Gemini 2.0 Flash) for the chat assistant and content generation
  • CLI: Gemini CLI for scaffolding, code review, and deployment automation
  • Deployment: Google Cloud Run with the dev-tutorial=devnewyear2026 label

Development Process

  1. Scaffolding with Gemini CLI β€” I used gemini-cli to generate the initial Next.js project structure, including component boilerplate and API route stubs. The CLI's generate command saved me hours of setup.

  2. AI Chat Integration β€” Using Google AI Studio, I created a Gemini 2.0 Flash model with a system prompt containing my resume, project descriptions, and technical background. The chat widget uses streaming responses for a natural feel.

  3. Dynamic Content Generation β€” Project descriptions, SEO meta tags, and even the "About" section copy were generated using the Gemini API, then reviewed and refined by me. This hybrid approach kept things authentic while saving time.

  4. Cloud Run Deployment β€” Containerized with Docker, deployed via gcloud run deploy with the required label:

gcloud run deploy portfolio \
  --source . \
  --region us-central1 \
  --allow-unauthenticated \
  --labels dev-tutorial=devnewyear2026
Enter fullscreen mode Exit fullscreen mode

Google AI Tools Used

  • AI Studio: Built and tested the Gemini chat model, experimented with prompts
  • Gemini CLI: Code generation, automated testing, deployment scripting
  • Gemini 2.0 Flash API: Real-time chat responses, content summarization

What I'm Most Proud Of

The conversational AI assistant is the star. Visitors can ask things like "What projects has this developer worked on?" or "What's their experience with React?" and get accurate, contextual answers pulled from my actual portfolio data. It's not a generic chatbot β€” it's me, in AI form.

I'm also proud of the performance. Despite the AI features, the portfolio scores 98 on Lighthouse Performance. Gemini 2.0 Flash's speed makes the chat feel instant, and Cloud Run's auto-scaling means it handles traffic spikes without breaking a sweat.

The entire project took about 10 days from idea to deployment, and Gemini CLI was instrumental in keeping the pace. Being able to ask the CLI to review my code, suggest optimizations, and even write tests made solo development feel like pair programming.


Built with ❀️ using Google AI Studio, Gemini CLI, and Cloud Run

Top comments (0)