Chrome Extension (Manifest V3) with a Shimeji-style anteater mascot that walks around on AI chat sites (ChatGPT, Claude, Gemini, Perplexity), plus a React popup and FastAPI backend.
- Anteater mascot — Walks around the page, can be dragged and thrown (Will steal your mouse occaisionally)
- Shop — Buy hats (Plunger, Cracked Egg, Crown, and Christmas Hat) with the ants you collect
- Login / Sign up — Email-based auth for data saving
- Prompt classification — LLM rates your prompts; mascot reacts (good/bad)
- Ants & health — Earn ants for good prompts, spend in shop
PocketZot/
├── manifest.json # Extension metadata, popup, content scripts
├── background.js # Service worker (EQUIP_HAT, classify, health)
├── anteaterchar/ # Content script mascot (physics, sprite, drag)
│ ├── anteater.js
│ ├── sprite.js
│ ├── messageListener.js
│ └── assets/
├── frontend/ # React popup (Vite)
│ ├── pocket_zot.html
│ ├── src/App.jsx
│ └── src/pages/
├── backend/ # FastAPI
│ ├── src/main.py
│ ├── src/api/ # users, anteaters, accessories, classifier
│ └── schema/ # SQL migrations
└── dist/ # Built output (popup + anteaterchar)
-
Install dependencies:
npm install
-
Build the popup and copy content scripts:
npm run build
This builds the popup to
dist/and copiesanteaterchar/intodist/anteaterchar/.
-
Create and activate a Python virtual environment.
-
Install dependencies:
pip install -r backend/requirements.txt
-
Set up PostgreSQL and create a
.envfile withDATABASE_URL. -
Run migrations:
python backend/scripts/run_migration.py
-
Start the API server:
uvicorn backend.src.main:app --reload
API docs:
http://127.0.0.1:8000/docs
- Open Chrome and go to
chrome://extensions. - Enable Developer mode.
- Click Load unpacked.
- Select the
PocketZotfolder (the one withmanifest.json). - Click the PocketZot icon to open the popup.
After code changes, run npm run build and click Reload on the extension card.
The anteater mascot runs on:
https://chatgpt.com/*https://claude.ai/*https://gemini.google.com/*https://*.perplexity.ai/*