AI-powered reply generation for social media. Built for quick, contextual, and customizable responses — with a Chrome extension, FastAPI backend, and analytics dashboard (Next.js).
Made for everyone, no paywall.
HumanReplies/
├── browser-extension/ # Chrome extension (Manifest V3)
├── backend/ # FastAPI + PostgreSQL + Supabase
├── dashboard/ # Next.js analytics
└── README.md
cd backend
./setup.sh # macOS/Linux
setup.bat # Windows
# Or manual setup
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python run.py # http://localhost:8000Requires: Python 3.9+, PostgreSQL, Supabase (.env with credentials).
👉 For full installation and setup details, see INSTALL.md.
cd browser-extension
# Load unpacked in Chrome:
# chrome://extensions → Developer mode → Load unpackedcd dashboard
npm install
npm run dev # http://localhost:3000- Purpose: FastAPI service with Supabase Auth and PostgreSQL (async SQLAlchemy).
- Highlights: Privacy-first analytics (no post content stored), tone presets + user tones, cached external service URLs.
- Auth: Validates Supabase JWTs; Redis caching is optional and auto-disables if unavailable.
- Run:
cd backend && ./setup.shthenpython run.py(docs at/docs). - Env:
.envwithSUPABASE_*and DB URL, e.g.database_url=postgresql+asyncpg://postgres:password@localhost:5432/humanreplies. - Key endpoints:
/api/v1/services/generate-reply,/api/v1/tones,/api/v1/replies,/api/v1/user-settings.
- Purpose: One‑click, context‑aware replies on X, LinkedIn, Facebook (or anywhere you enable it).
- Highlights: Preset + custom tones, offline‑aware UI with auto‑retry, selection‑based floating action.
- Backend: Uses
browser-extension/config/environment.js(defaults to production:http://api.humanreplies.com/api/v1). - Build:
cd browser-extension && npm run build:production(creates minified dist/ and ZIP file). - Load: Chrome →
chrome://extensions→ Developer Mode → Load unpacked →browser-extension/dist/. - Flow: Select text → click "Generate Reply" or "Improve text" → pick tone → copy one of 3 variations.- Auth: Supabase login in popup; token used transparently for tone and analytics APIs.
The extension defaults to production environment (http://api.humanreplies.com/api/v1). For development:
- Change
currentEnvironmentinconfig/environment.jsto"development" - Rebuild with
npm run build:production - Development uses
http://localhost:8000/api/v1
- Purpose: Next.js 14 app for usage stats, recent activity, tones and settings.
- Highlights: Supabase SSR, charts, and simple RLS‑friendly calls to the backend.
- Env: Create
.env.localwith:NEXT_PUBLIC_SUPABASE_URL,NEXT_PUBLIC_SUPABASE_ANON_KEYNEXT_PUBLIC_API_HOST=http://localhost:8000
- Run:
cd dashboard && npm i && npm run dev→http://localhost:3000. - Shows: Totals, daily chart, top services, recent replies (timestamps + platform only).
- 🧠 AI Replies: Context-aware, one-click responses
- 🎨 Tones: Preset + custom tones (e.g. neutral, funny, supportive)
- 🔐 Supabase Auth: Secure login & token refresh
- 📊 Reply Tracking: Analytics synced to dashboard
- ⚡ FastAPI + PostgreSQL with async SQLAlchemy
- 🔐 Supabase JWT authentication
- 📝 Minimal Data Storage: Logs timestamp + platform only (no post content)
- 🎨 Tone API: Presets + user-defined tones
- 📊 Privacy-First Analytics
- 📈 Usage stats (daily/weekly/monthly)
- ⚙️ Settings & tone management
- 🔍 Reddit integration
- 🎤 Custom voice
- Extension: Manifest V3, Vanilla JS
- Backend: FastAPI, PostgreSQL, Supabase, SQLAlchemy, Alembic
- Dashboard: Next.js 14, React 18, TypeScript
HumanReplies do not store content.
❌ Original posts
❌ Generated replies
❌ Post URLs
HumanReplies only log minimal analytics:
✅ Timestamp
✅ (Optional) User ID
Authentication is handled via Supabase JWT with row-level security.
graph TD
A[Extension] -->|Generate Reply| B[FastAPI Backend]
B -->|Auth| C[Supabase]
B -->|Analytics| D[PostgreSQL]
B -->|Proxy| E[Pollinations AI]
F[Dashboard] -->|Fetch Stats| B
POST /api/v1/services/generate-reply→ Generate replyGET /api/v1/tones/→ Fetch tones (presets + custom)POST /api/v1/tones/→ Create custom toneGET /api/v1/replies/stats→ Fetch analytics
This project relies on the Pollinations API for generating AI-powered replies. The Pollinations API provides advanced AI capabilities that enable contextual and dynamic reply generation.
For more information about the Pollinations API, visit their official website.
MIT License © 2025 HumanReplies
Built with ❤️ for better social media interactions.