What SAFIA Can Do
Expense & Income Tracking
Record, filter, and review transactions through natural conversation. Send a receipt photo and SAFIA extracts the amount automatically.
Investment Portfolio
Track stocks, crypto, gold, and other assets. Get real-time pricing, portfolio summaries, and rebalancing suggestions based on your target allocations.
Debt Management
Keep tabs on money you’ve lent or borrowed, with settlement tracking so nothing slips through the cracks.
Market Data
Fetch live gold, silver, crypto, and currency exchange rates on demand, sourced from multiple real-time feeds.
Auto Reminders
Schedule price alerts, daily news digests, and portfolio summaries. SAFIA can also infer reminder patterns from your habits.
Voice Messages
Speak instead of type. SAFIA transcribes your voice messages using Whisper (via Groq) and processes them like any other message.
Knowledge Base (RAG)
Upload PDF, TXT, or DOCX files to the admin dashboard. SAFIA uses those documents to ground its responses with your own reference material.
Financial News
Search and summarize relevant Indonesian financial news to keep you up to date with the market.
Architecture: Local-First by Design
SAFIA is built around a local-first principle. The only network calls it makes are to LLM and speech-to-text APIs — every other component runs on your machine.| Component | Technology | Where It Runs |
|---|---|---|
| LLM chat | Lunos / Groq / OpenAI / Custom | Remote API |
| Speech-to-text | Whisper (Groq) | Remote API |
| Embeddings | fastembed + ONNX (384-dim, multilingual) | Local |
| Vector storage | Qdrant on-disk | Local — data/qdrant/ |
| Database | SQLite (default) or PostgreSQL | Local |
| Cache & rate limiting | Redis | Local |
| Admin UI | Flask + Chart.js | Local — http://127.0.0.1:5454 |
| Bot daemon | systemd / launchd / Scheduled Tasks | Local — auto-starts on boot |
SAFIA defaults to Bahasa Indonesia for its persona and system prompts, but it detects and replies in the language you write in. You can chat in English, Indonesian, or any other language the underlying model supports.
Telegram Commands
SAFIA is primarily conversational — you interact through natural language rather than slash commands. Two built-in commands are available:| Command | Description |
|---|---|
/start | Start the bot and reset the current chat session. |
/bantuan | Show the help message with an overview of what SAFIA can do. |
Who SAFIA Is For
SAFIA is a good fit if you:- Want a personal finance assistant that keeps your data on your own hardware
- Prefer managing money through conversation rather than form-based apps
- Already use Telegram daily and don’t want to switch to another app
- Are comfortable running a small self-hosted service on a Linux, macOS, or Windows machine
- Want to customise the LLM provider, database backend, or knowledge base to suit your setup