DEV Community

Cover image for My Portfolio is Alive: Built with React, Cloud Run, and Gemini 3.0
Abdulsalaam Noibi
Abdulsalaam Noibi

Posted on

My Portfolio is Alive: Built with React, Cloud Run, and Gemini 3.0

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 a Full Stack Developer with a passion for Cloud Architecture and Applied AI. For 2026, my goal wasn't just to update my CSS; I wanted to transform my portfolio from a static digital business card into an intelligent agent that actively helps me get hired.

I believe the future of web development is "Agentic"β€”where applications don't just display data but perform tasks. This portfolio is my proof of concept for that future, marking my transition from standard frontend development to building AI-First Cloud Applications.

Portfolio

Note: If the embed above doesn't load immediately, please click here to view the live app. Be sure to try the Recruiter Mode button in the bottom right corner!)

How I Built It

I architected this application as a production-grade microservice, moving away from simple static hosting to a containerized environment on Google Cloud.

1. The AI Engine (Gemini 3.0)

I integrated Google's Gemini 3 Pro Preview model directly into the React frontend using the @google/generative-ai SDK.

  • Recruiter Match: When a user pastes a Job Description, I send a structured prompt to Gemini containing my portfolio data and the JD. The AI analyzes the fit and returns a formatted report explaining why I am the right candidate.
  • The PDF Generator: I implemented a feature where Gemini generates a persuasive, custom cover letter in real-time, which is then compiled into a PDF using jsPDF for the recruiter to download.

2. The Infrastructure (Cloud Run)

Instead of a basic static site, I built a custom Docker container:

  • Stage 1: Node.js builds the React artifacts.
  • Stage 2: Nginx (Alpine) serves the static files. I configured Nginx with gzip compression and aggressive caching headers to ensure a perfect Lighthouse performance score.
  • Deployment: I used Google Cloud Build to automate the container creation and deployed it to Google Cloud Run as a serverless service.

3. The Design

To reflect the AI nature of the site, I built a "Living Neural Network" background using tsparticles. The nodes connect dynamically as you move your mouse, visualizing the concept of "connecting the dots" between my skills and the job requirements. I used Framer Motion for "Liquid UI" transitions, ensuring the AI analysis results spring onto the screen organically.

Tools Used:

  • Google AI Studio: For prompt engineering and model selection (gemini-3-pro-preview).
  • Google Cloud Run: For hosting the containerized application.
  • VS Code AI Agents: I utilized AI agents to scaffold the initial components and Nginx configurations.

What I'm Most Proud Of

I am most proud of the Instant Cover Letter Generator.

Most portfolios leave the hard work to the recruiter. My portfolio does the work for them. By combining Generative AI with client-side file manipulation, I turned a standard "Contact Me" interaction into a tangible productivity tool. It demonstrates that I don't just know how to use an APIβ€”I know how to solve real user problems with it.

I'm also proud of the "Safe Mode" Nginx configuration I developed. Getting React Router to work correctly with Docker/Nginx on Cloud Run (handling 404s on refresh) was a challenge but architecting a solid conf.d injection strategy makes the app incredibly robust.


Powered by Google Gemini & Cloud Run

Top comments (0)