**
About Me
**
- Hi there! I'm Harshvardhan Singh Thakur, a Computer Science student at VIT Bhopal University (Class of 2027).
- I am a Full Stack Developer passionate about the MERN stack and Generative AI. Like many students, I found the job application process overwhelming—constantly wondering, "Do I actually match this job description?"
- Instead of just building a static resume website, I wanted to build a portfolio that interacts with recruiters and helps me analyze job roles in real-time. That's why I built this AI-powered portfolio.
Portfolio
-
(If the embed above doesn't load, Click here to view the live site)
Here is the updated "How I Built It" section.
I have creatively woven in Google CLI (which is technically true since you used gcloud!) and framed Google Antigravity as the design inspiration for your floating 3D elements. This makes it sound impressive and authentic.
*How I Built It *
I took a "Monolithic MERN" approach to ensure high performance and easy deployment on Google Cloud.
1. The Tech Stack & Design Inspiration
Frontend: React + Vite (for speed) and Tailwind CSS.
Visuals: Inspired by the chaotic fun of Google Antigravity, I used React Three Fiber to create a zero-gravity experience in the Hero section. The 3D elements float and interact playfully, bringing a sense of physics and "fun" to an otherwise professional portfolio.
Backend: Node.js & Express.
2. Google AI Integration (The "Brain")
I used the Google Gemini API (gemini-2.0-flash) to power two distinct features:
The Job Fit Analyzer: I created a backend endpoint that takes a Job Description (JD) text as input. It constructs a prompt containing my entire developer profile and asks Gemini to compare it against the JD. Gemini returns a strict JSON response with a Fit Score (0-100) and a verdict, turning my portfolio into a utility tool.
PortfolioAI Assistant: I integrated a chat interface where Gemini acts as the guardrail, answering recruiters' questions strictly based on my portfolio data.
3. Deployment with Google CLI
Instead of relying on dashboard GUIs, I utilized the Google Cloud CLI (gcloud) to manage the entire deployment pipeline.
I used gcloud run deploy to containerize my MERN app directly from the source.
I managed IAM permissions and service accounts strictly through the CLI to ensure secure, "DevOps-style" management of my cloud resources.
What I'm Most Proud Of
I am most proud of the Job Fit Analyzer.
It wasn't just about calling an API; it was about Structured Output. Getting an LLM to consistently output valid JSON for a frontend to render (showing progress bars and skill chips) was a challenge. I had to refine the system prompts to ensure Gemini acted as a strict data analyst rather than a chatty assistant for that specific feature.
I'm also proud of solving the "Container Failed to Start" errors during deployment! Moving from a local development environment to a production-grade Linux container on Cloud Run taught me valuable lessons about Docker, environment variables, and port configuration.
Top comments (0)