DEV Community

Cover image for A Portfolio That Actually Gets Read
yukaty
yukaty Subscriber

Posted on

A Portfolio That Actually Gets Read

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 a software developer and technical educator with over a decade of experience. As a Deaf, non-native English speaker, I've learned that the real challenge isn't mastering complex topics, but explaining them so anyone can understand.

​​My experience felt broad and hard to present clearly. Rather than listing everything, I built a portfolio to simply showcase my work and my commitment to accessibility and clarity.

Portfolio

Source code available on GitHub.

How I Built It

The Problem

A technical recruiter once told me about my old portfolio: "I am not technical, so your website sadly means nothing to me."

That feedback stuck with me. Even technical recruiters often don't have coding backgrounds. I wanted to build one that works for everyone, not only for developers.

The Solution: An AI Assistant with Two Voices

I built a portfolio chatbot powered by RAG (Retrieval-Augmented Generation) that can answer questions about my skills and experience. Its key feature is simpler than RAG itself.

The chatbot speaks two languages. Professional and Plain, not English and French.

  • Professional Mode: Technical terminology, concise phrasing, domain expertise
  • Plain Mode: Same information, accessible language, focus on "what" over "how"

Portfolio chatbot responses in Pro and Plain modes

Tech Stack

  • Frontend: React 19, TypeScript, Tailwind CSS
  • Backend: FastAPI, Python, FAISS
  • Infrastructure: Google Cloud Run, GitHub Actions, Docker
  • AI: Gemini API (gemini-2.5-flash for chat, gemini-embedding-001 for embeddings)

I used Antigravity for rapid UI testing, validating different user journeys for HR, Engineering Managers, and accessibility-first users. AI Studio helped me adjust system prompts, testing until the chatbot responses felt right. Gemini CLI supported implementation and refactoring. Although the Google AI tools sped up my workflow, I still spent most of my time refining prompts, checking outputs, and adjusting decisions step by step.

Key Technical Decisions

This architecture mirrors real-world AI systems, but is intentionally minimal to fit the size of a portfolio.

RAG for Traceability

Long context would work fine for a few markdown files, but RAG provides traceability (which documents the AI used) and demonstrates a production-ready AI pattern. It could also help reduce token usage if I later integrate a blog or additional content.

Confidence Scoring for Quality Monitoring

Each response is evaluated based on retrieved context. When confidence is low, the AI guides users to contact me directly via LinkedIn. Metrics are logged for monitoring but never shown to users.

Security Considerations

The backend includes prompt injection detection and PII filtering. Conversations are never stored. Only anonymous metadata is logged for monitoring.

What I'm Most Proud Of

1. Accessibility as Foundation

Accessibility is often discussed as visual or motor support, but cognitive accessibility matters too.

Technical jargon creates barriers for non-technical stakeholders, non-native speakers, and anyone outside your specific domain. The Language Mode toggle is a small feature, but it shows that I care about bridging these gaps.

Beyond language, I adjusted contrast, ARIA usage, and interaction details across the UI to meet WCAG AA.

Clean design, readable code, clear documentation. These aren't extras.

2. Right-Sized Engineering

I wanted to demonstrate good judgment, knowing what to build and what to skip.

For a portfolio chatbot with a small knowledge base, I chose minimal RAG with in-memory FAISS. It loads quickly, costs nothing, and requires no database infrastructure.

I also added Quick Response buttons with pre-written answers. If the AI fails or responds slowly, users still get reliable answers instantly. It's not flashy, but it's the kind of thinking that matters in production.


This challenge was the perfect push to finally update a portfolio I'd been putting off for years. Thanks to DEV and Google AI team for the opportunity!

Top comments (0)