File size: 1,828 Bytes
b02f001
aba78b7
 
0f3c25b
 
b02f001
 
a737fe5
e6802c5
 
b02f001
 
aba78b7
0f3c25b
aba78b7
 
 
 
0f3c25b
 
 
259107b
4163d36
259107b
 
0f3c25b
 
 
259107b
0f3c25b
259107b
 
4163d36
259107b
 
4163d36
0f3c25b
 
 
 
 
 
 
 
 
 
 
 
 
 
0803ac1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
---
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