| title | ᐴ FocusFriend ᔔ | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| colorFrom | indigo | |||||||||||||
| colorTo | yellow | |||||||||||||
| sdk | gradio | |||||||||||||
| sdk_version | 6.0.0 | |||||||||||||
| app_file | app.py | |||||||||||||
| pinned | false | |||||||||||||
| license | apache-2.0 | |||||||||||||
| tags |
|
Aaniin, amiikwens — I am Pip, the friend of the moss and the small winds. Sit. Breathe. The sun is in no hurry.
Pip is a wise, dry-witted, slightly mischievous but genuinely caring wellness companion. Not a sycophantic cheerleader. Think: "your friend who's been through therapy and wants you to actually feel better, not just hear platitudes."
- 💬 Chat Mode — Talk to Pip. Real conversation, no corny platitudes.
- 🎯 Focus Mode — Pomodoro-style work sessions. Pip keeps time, stays quiet.
- 🌬️ Breathe Mode — Guided 4-7-8, box breathing, and simple deep breathing.
- 🧘 Meditate Mode — Body scan, loving-kindness, and just-sitting meditations.
- ☼ Anishinaabe-Solarpunk UI — Sky-to-sunrise palette, sun-amber gradients, biophilic motifs.
- ☘ Custom CSS Theme — Cedar-copper shrine for Pip, water-blue surfaces, birch-cream text.
- 🔌 100% Local — No cloud APIs, no data collection, fully offline.
- Python 3.10+
- A Hugging Face token (anonymous works for many small models)
- ~100MB disk, ~256MB RAM — inference is serverless
git clone https://github.com/nbiish/focusfriend.git
cd focusfriend
pip install -r requirements.txt
# Optional: pick a model (default: Qwen/Qwen2.5-7B-Instruct)
export INFERENCE_MODEL="Qwen/Qwen2.5-7B-Instruct"
# Optional: set the HF token
export HF_TOKEN="hf_..."
# Optional: tune the cooldown
export FOCUSFRIEND_COOLDOWN_SECONDS=10
python app.pyThen open http://localhost:7862/.
| Model (default) | Size | Purpose | License |
|---|---|---|---|
| Qwen2.5-7B-Instruct | 7B | Wellness companion chat | Apache 2.0 |
| Meta-Llama-3-8B-Instruct | 8B | Alternative | Llama 3 Community |
| gemma-2-9b-it | 9B | Alternative | Gemma License |
Runs with mcp_server=True — Streamable HTTP MCP server at /gradio/gradio_api/mcp/:
chat_handler(message, history, mode)— Stream Pip's response to a messageset_mode(mode)— Switch Pip's active mode (chat, focus, breathe, meditate)on_focus_start(duration)— Begin a focus session timerstart_breathe_session(technique)— Begin breathing exercisestart_meditate_session(duration, style)— Begin meditation
- 🎨 Off-Brand — Anishinaabe-Solarpunk CSS theme with sun-amber gradients
- 📓 Field Notes — Blog post about AI wellness companions
- 🦙 Tiny Titan — Default model is 7B; can switch to 1.5B Qwen for true Tiny Titan
- 🌀 Cooldowns — Serverless inference with built-in credit protection
- ☁ HF Inference API — Uses Hugging Face serverless backend (no local GGUF build)
_____
/ \
| • • | ☼ Hey! I'm Pip.
| ▿ | Your focus buddy.
\ ~~~ /
| | | |
|_| |_|
Pip has 20+ expressions that change based on the conversation context — from determined (focus mode) to peaceful (meditation) to gently concerned (checking on your wellbeing).
Standard gradio local-app practices. PQC for any future API key material via
the pqc-secrets skill (ML-KEM-768 + AES-256-GCM).
◈──◆──◇ ☼ FocusFriend v1.0 · Cedar Edition · Anishinaabe Solarpunk ◇──◆──◈
Built with ☼ for the Build Small Hackathon 2026. The character, personality, and experience are AI-generated — making the AI load-bearing for the experience itself.