Chat With Feels
With feeling, without fiction. A chatbot with a transparent, neuroscience-inspired emotion engine that modulates style and initiative — tone, cadence, emphasis — while keeping truth and safety intact.

Hero ideas
- With feeling, without fiction.
- AI that reads the room
- Style changes. Truth doesn't.
- Conversations that feel like conversations
Overview
Chat With Feels doesn't pretend to feel — it models a useful slice of the human emotional control loop to make conversations smoother, kinder, and more effective. The affect layer changes style, not substance: tone, cadence, emphasis, and initiative, while keeping truth and safety fully intact.
The engine tracks 21 emotion families (anger, joy, awe, gratitude, confusion, nostalgia, and more) using mean-reverting Ornstein-Uhlenbeck dynamics with emotion couplings. A lightweight appraisal layer detects conversational signals and generates emotion deltas. A style transform converts the current affect state into style instructions for the LLM — never altering facts or safety constraints.
The system also includes rolling summaries and embedding-based long-term recall for memory, plus time-based proactive check-ins that use current affect to decide when and how to re-engage.
Why we built it
Current chatbots are either flat (no emotional awareness) or performative (fake emotions for engagement). Chat With Feels takes a third path: transparent affect modeling grounded in neuroscience. The emotion engine is visible and honest — it shapes how the assistant communicates, not what it says.
How it works
1. Appraisal — Lightweight keyword and intent detection reads conversational signals and generates emotion deltas 2. Affect Engine — 21 emotion families evolve via mean-reverting dynamics (Ornstein-Uhlenbeck) with cross-emotion couplings 3. Style Transform — Current affect state is converted to style instructions (tone, cadence, warmth, initiative level) 4. LLM Generation — Frontier model receives style instructions alongside the conversation; facts and safety are never altered 5. Memory — Rolling summaries + embedding-based long-term recall ensure continuity across sessions
Feature highlights
- 21 Emotion Families — Anger, disgust, fear, sadness, shame, envy, surprise, joy, interest, love, awe, pride, gratitude, relief, calm, nostalgia, boredom, confusion, craving, lust, entrancement
- Mean-Reverting Dynamics — Ornstein-Uhlenbeck process ensures emotions naturally decay toward baseline
- Emotion Couplings — Cross-emotion interactions (e.g., joy suppresses sadness, fear amplifies surprise)
- Style-Only Modulation — Affect changes tone and initiative, never facts or safety
- Long-Term Memory — Rolling summaries + embedding-based recall for continuity
- Proactive Check-Ins — Time-based re-engagement modulated by current affect state
Notes
- Tech Stack: Node.js 20+, TypeScript, OpenAI, MongoDB (Atlas or local), Vite frontend
- Philosophy: "With feeling, without fiction" — transparent affect modeling, not simulated emotions
- For Whom: Anyone who wants AI conversations that feel more natural without sacrificing honesty
You might also like

BuddhaUR
Available on iOS & AndroidLearn early Buddhism through conversation. Ask what you're actually dealing with—anger, craving, stress, attention, relationships—and get grounded guidance with tappable citations to the early suttas, so you can verify it for yourself.

QuickBite
Live Prototype(In Active Development)Turn a 30-minute "where should we eat?" debate into a 2-minute decision. QuickBite helps groups quickly agree on restaurants through fast, fair voting with transparent consensus scoring.

Walk And
In DevelopmentMinimum viable movement. A daily movement coach built around a routine you actually do — self-contained workouts, daily reminders, and a GitHub-style heatmap to visualize consistency.