Fetch-Pup / README.md
ElisaTrippetti's picture
Update README.md
e6802c5 verified
---
title: Fetch Pup
emoji: 🐶
colorFrom: gray
colorTo: yellow
sdk: static
pinned: false
short_description: Dog-loving baseline chatbot · Zero-backend static demo
thumbnail: >-
https://cdn-uploads.huggingface.co/production/uploads/6687a0faa03abfbb1b8fdfc5/gAYe0blkX9ZGoff3WD23l.png
---
# This is Fetch Pup, at a glance
Fetch Pup is a zero-backend static demo and learning baseline. No model, all browser.
Responses come from two layers: an intent matcher that handles greetings and small talk,
and a keyword lookup table that returns dog facts verbatim.
If neither matches, you get one of three fallback replies.
## How it works
Fetch answers using a layered response pipeline:
- A lightweight **intent matcher** that handles greetings, small talk, and
questions like "what can you do".
- A small **keyword lookup** table (dogs, breeds, care, trivia, reactions).
If the user's question contains a known keyword, the matching fact is
returned verbatim.
- Three **fallback replies** cover everything else.
There is no model running in this build. Static Spaces don't run Python or
serve models, so the deterministic response pipeline is the honest option here.
The generative version, powered by Meta's BlenderBot-400M-distill, runs
separately as a [Docker Space](https://huggingface.co/spaces/ElisaTrippetti/Fetch-Good-Boi).
## Files
- `index.html` — app shell, loads React + Babel, mounts the terminal variant
- `chat-engine.jsx` — keyword lookup, fallbacks, suggestion rotator, chat hook
- `variant-terminal.jsx` — the terminal CLI-style UI
- `debug-panel.jsx` — optional ⌘D devtools panel (exchange log, keyword table)
## Keyboard
- **⌘K / Ctrl+K** — clear the conversation
- **⌘D / Ctrl+D** — toggle the devtools panel
## Credits
Designed with Claude Design · Built with Claude Code