A local-first Small Language Model chat platform with a pluggable inference backend and a private analytics plane.
Runs 100% offline · Deployable in 2 commands · Portfolio-ready
Most "local LLM" projects lock you into one inference stack. AMPLIFY treats the inference engine as a plug-in: switch from HuggingFace Transformers to LM Studio to on-device Termux/llama.cpp by changing one environment variable.
- 🧠 Pluggable backends — HF · LM Studio · Termux (llama.cpp)
- 🔒 Local-first — no data leaves your box
- 📊 Private analytics — Streamlit dashboard, password-gated
- 🐳 One-command deploy —
docker compose up - 🏠 Homelab-ready — designed to run on an 8 GB laptop / mini-PC
┌─────────────────────────────────────┐
│ nginx :80 │
│ / → app /analytics → dashboard │
└───────┬────────────────────┬────────┘
│ │
┌──────────▼───────┐ ┌────────▼─────────┐
│ Flask app :5000 │ │ Streamlit :8501 │
│ ┌────────────┐ │ │ Plotly charts │
│ │ Strategy: │ │ └────────┬─────────┘
│ │ hf │ lm │ │ │
│ │ studio │ │ │
│ │ termux │ │ │
│ └────────────┘ │ │
└───────┬──────────┘ │
│ │
▼ ▼
┌────────────────────────────────────────┐
│ ./data/amplify_chat_history.csv │
└────────────────────────────────────────┘
See docs/architecture.md for the sequence diagram.
| Backend | Env value | Best for | Deps |
|---|---|---|---|
| HuggingFace | hf |
Fully local, offline homelab | requirements-hf.txt (torch) |
| LM Studio | lmstudio |
Desktop GPU users | requests only |
| Termux | termux |
On-device Android inference | requests only |
cp .env.example .env
docker compose up -d --buildThen open:
- Chat UI → http://localhost/
- Analytics → http://localhost/analytics/ (basic auth)
Local dev (no Docker):
make install
make run # chat on :5000
make dashboard # analytics on :8501make test # pytest + coverage
make lint # ruff + black --check
make format # auto-fixCI runs on every PR: Ruff, Black, Pytest with coverage, and a Docker build check.
MIT © 2026 Araf Mustavi