Sassy_AI, the sarcastic assistant that doesn't really like humans

A web chatbot that gives useful answers—with irony, a little drama, and zero patience for banality.

By Héric Libong
Sassy_AI, the sarcastic assistant that doesn't really like humans

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

  1. Build a clear, demo-ready web chatbot.
  2. Replace stubs with a robust OpenAI provider integration.
  3. Version and enforce a stable persona.
  4. Keep scope strict: no auth, no DB, in-memory sessions.
  5. 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

Sassy_AI visual

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