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

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.