--- 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