Inspiration

Mental health tools are often online, noisy, and intrusive — collecting data, pushing diagnoses, or overwhelming users with too much advice. We wanted to create something quieter and safer: a space where someone could pause, reflect, and feel heard without judgment, tracking, or pressure. Native-emo was inspired by the idea that sometimes support means listening well, not saying more.

What it does

Native-emo is a privacy-first, offline AI wellness companion designed for calm, supportive conversations. Responds thoughtfully without assuming emotions

Provides gentle reflection when distress is expressed

Avoids diagnosis, prescriptions, or clinical claims

Remembers recent context to keep conversations coherent

Offers optional voice responses for accessibility

Runs entirely on the user’s machine

Native-emo is not a therapist — it’s a grounded, supportive presence.

How we built it

Native-emo is built as a local-first desktop application:

Electron (Node.js) for the desktop interface Python + llama.cpp for local LLM inference Phi-3 Mini (GGUF) as the reasoning model IPC bridging between UI, Node, and Python In-memory conversation memory for contextual continuity Browser-native Text-to-Speech for optional voice output The architecture cleanly separates UI, orchestration, and model execution, keeping the system modular and secure.

Challenges we ran into

LLM over-generation: The model initially produced multiple answers per prompt, requiring careful stopping logic. Emotion hallucination: Early prompts caused the model to assume emotional states from neutral inputs like “Hi”. Memory control: Balancing context retention without bloating prompts or losing coherence. Process orchestration: Ensuring reliable communication between Electron, Node, and Python without blocking the UI. Safety without censorship: Designing responses that are supportive but non-clinical and non-directive.

Accomplishments that we're proud of

A fully offline AI wellness app with zero data collection Stable, controlled single-response generation Contextual memory without databases or cloud storage Clean separation of concerns across system layers A user-controlled voice feature designed for accessibility A calm, human tone that avoids over-automation

What we learned

Small prompt changes dramatically affect emotional tone “Less helpful” responses can feel more human and safer Local AI systems require stronger guardrails than cloud APIs Memory should be selective, not exhaustive Wellness tools benefit from user control, not automation Most importantly, we learned that trust comes from restraint.

What's next for Native-emo

Memory summarization for longer conversations Emotion-aware response pacing (not detection) Optional journaling mode Crisis-safe escalation patterns Cross-platform packaging Custom voice selection Session-based memory persistence (opt-in) Native-emo aims to stay small, respectful, and user-owned — by design.

Built With

Share this project:

Updates