This is a submission for the New Year, New You Portfolio Challenge Presented by Google AI
About Me
I’m Veríssimo Cassange, an AI Software Engineer based in Luanda, Angola 🇦🇴. I’ve always been obsessed with how technical architecture can drive social impact. My day-to-day usually involves Python, Machine Learning, and trying to explain to my family why "Infrastructure as Code" is actually exciting.
For this challenge, I didn't just want a "pretty" site. I wanted a portfolio that acts like a Trojan Horse—looking premium to human recruiters while being perfectly tuned for the ATS (Applicant Tracking Systems) that often filter out talented engineers before they even get a chance.
Portfolio
I deployed the app to Google Cloud Run. You can check the live version here:
🔗 Live Portfolio: vec21-portfolio.europe-west1.run.app
How I Built It
The "ATS Algorithm" Strategy
I decided to treat the portfolio as a data-rich document. Instead of just listing projects, I integrated specific keywords—Generative AI, RAG, Docker, CI/CD—directly into the metadata and descriptions.
But I hit a wall early on: the GitHub API doesn't give you the "why" behind a project. I realized that if I wanted to impress both the algorithm and the human recruiter, I had to manually augment my repository data with custom objectives and technology tags. So, I built a local manifest system to enrich the data fetched from GitHub.
The Tech Stack
- Frontend: React 19 + Vite (Fast is an understatement).
- Styling: Tailwind CSS 4. I wanted that "glassmorphism" look that feels premium but isn't a nightmare for accessibility.
- Animations: Framer Motion for those subtle micro-animations (like the smooth scroll progress bar I called BPROGRESS).
- Deployment: Docker + Google Cloud Run.
The Google AI Copilot
I used Antigravity (Google’s AI-first dev environment) as my second brain. It wasn't about "click a button, get a site." It was more like having a senior engineer sitting next to me.
For instance, Antigravity was crucial when I decided to use nanobanana Pro to generate consistent, professional thumbnails for all my projects. I wanted a specific aesthetic, and the AI helped me iterate on those visuals until they felt like part of a unified brand.
What I'm Most Proud Of
1. Breaking (and Fixing) Docker for Cloud Run
To be honest, the deployment was the biggest headache. I wanted to follow security best practices by running Nginx as a non-root user.
If you've ever tried this on Cloud Run, you know the pain: permission errors everywhere once you touch /var/cache/nginx. I spent hours debugging why my container would crash on startup. I eventually had to rewrite the nginx.conf to use /tmp for PIDs and temp files.
# The human struggle: fixing permissions for a non-root user
RUN mkdir -p /var/cache/nginx /tmp/nginx && \
chown -R nginx:nginx /var/cache/nginx /tmp/nginx && \
chmod -R 755 /var/cache/nginx /tmp/nginx
It was frustrating, but seeing that "Service is Healthy" checkmark in the Google Cloud Console was the best feeling of the entire week.
2. The Project Modal System
Instead of redirecting people away from my site to GitHub immediately, I built a modal system. It gives a quick technical deep-dive (Technologies, Objectives, Challenges) before the user decides to jump into the code. It keeps the engagement high.
3. Localization and Impact
As someone from Luanda, I made sure to highlight my work with Frontier Tech Leaders - Angola. It’s important to me that my portfolio reflects my local context while showcasing global technical standards.
Key Learnings
- IA as a Copilot: Using Antigravity changed how I debug. Instead of just searching StackOverflow, I had a context-aware assistant helping me optimize my Docker multi-stage builds.
- Structure Matters: ATS optimization isn't just "keyword stuffing"—it's about semantic HTML. Using
<h1>to<h6>correctly and keeping the DOM lean matters more than I thought. - Trade-offs: I chose Nginx over a simple Node server because I wanted better control over headers and compression, even if it meant fighting with Cloud Run's filesystem restrictions.
Top comments (1)
Looks Great!!