Skip to content
Back to work

Case study · 2025

Resume Q&A Chatbot

A secure, production-ready chatbot that answers questions about Orlando’s resume using different system roles.

Highlights backend/API design, role-based prompting architecture, and experience developing lightweight AI-powered API

FlaskPythonGemini APIRender
Resume Q&A Chatbot screenshot

The Problem

Most "AI chatbot" demos are fragile: they hallucinate freely, have no grounding rules, and fall apart as soon as someone asks something off-topic. I needed a backend that could answer questions about my experience accurately — and refuse gracefully when it couldn't.

The Solution

Built a Flask API that wraps the Gemini model with strict system roles and grounding rules. The system prompt constrains the model to only answer questions based on my resume context — if the question is outside scope, the API returns a clean "I can't answer that" rather than making something up.

Key decisions:

  • System role architecture — different personas (recruiter-facing, developer-facing) use different prompt prefixes
  • Strict grounding — the model is instructed to cite only information provided in the context window, not general knowledge
  • Streaming + non-streaming paths — the API supports both response modes so it can be used in real-time chat UIs or batch query tools
  • Rate limiting — prevents abuse without requiring authentication

The Outcome

A live, production-deployed API demonstrating that small AI backends can be safe, scoped, and production-ready without complex infrastructure. Shows backend/API design judgment, prompt engineering discipline, and the ability to ship a working AI service on a tight scope.

Resume Q&A Chatbot | Case Study by Orlando Ascanio