A filter before anything else
If a message shows signs of risk, the bot doesn't improvise: it answers with a fixed message and the helplines for Mexico and Jalisco.
An emotional support bot, my first time building with AI, and the first serious question: what do you give it so it does no harm?
A project for Foundations of Artificial Intelligence, in my fourth semester: an emotional support bot. The subject hit close to home, and that changed how I built it.
Before writing any code I was already thinking about limits: how to keep it from hallucinating, what to do if someone writes that they don't want to live, what information to feed it. In mental health there's no room to improvise.
I ended up building it alone, and it was my first time building with AI, before Cursor and agents: I pasted my .py file into ChatGPT over and over, and the models back then made things up.
I made it during a low point. My team chose to build a psychological support bot and, with some irony, I was the one who needed it most.
I ended up building it alone, barely knowing how to code, pasting my file into ChatGPT again and again. My friends tried it; it was more of a technical curiosity than anything else, and we got an 8.
But it left me with a question that hasn't gone away: if a machine is going to talk to someone who's having a hard time, what do you give it so it does no harm? Everything further down this line comes from that question.
If a message shows signs of risk, the bot doesn't improvise: it answers with a fixed message and the helplines for Mexico and Jalisco.
Rasa recognizes what comes up again and again (greetings, contacts, what the bot is) and replies with handwritten text. The model only steps in when it's needed.
It validates, sums up what it understood, and offers a single exercise: 4-4-6 breathing, 5-4-3-2-1 grounding, or a short to-do list. It never diagnoses.