Description
Sassy_AI V2 is a portfolio-ready rewrite of a sarcastic assistant: from CLI project to a web chatbot with static frontend + FastAPI backend.
Core idea: useful, but with attitude.
- backend calls a real LLM via OpenAI Responses API with provider abstraction;
- tone controlled by a versioned persona and
sarcasm_level(low/medium/high); - safety policy handles unsafe requests and fallback behavior.
Goals
- Build a clear, demo-ready web chatbot.
- Replace stubs with a robust OpenAI provider integration.
- Version and enforce a stable persona.
- Keep scope strict: no auth, no DB, in-memory sessions.
- Improve UX: typing reveal, skip, quick prompts, copy/reset, safe markdown rendering.
Tech stack
- Backend: Python 3.12, FastAPI, httpx, pytest
- Frontend: HTML/CSS/JS ES modules
- Markdown rendering: marked + DOMPurify
- Workflow: Spec-Kit + GitHub Copilot Agent
- Deployment: Docker + Hugging Face Spaces

Current status
✅ MVP V2 is functional:
- web chat works end-to-end
- persona + sarcasm behavior is consistent
- markdown output is safe and readable
- deployed on Hugging Face