Jolt is an AI-powered personal finance tracking system that operates primarily through a Telegram chat bot. Users interact naturally by sending messages about their expenses and income to the bot, which processes the information using AI workflows and stores it in a database. This repository contains the web dashboard component for visualizing and monitoring your financial data.
π Try it now: https://t.me/jollexpenser_bot
Jolt is built on a three-part architecture:
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Telegram Bot β βββ> β n8n Workflow β βββ> β Web Dashboard β
β (Primary UI) β β (AI Processing)β β (This Repo) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
ββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββ
β
βββββββββΌβββββββββ
β PostgreSQL β
β Database β
ββββββββββββββββββ
Users interact with Jolt by chatting with a Telegram bot. Simply send messages like:
- "I spent $25 on lunch today"
- "Received salary $3000"
- "Coffee $5"
The bot is the main entry point for all user interactions.
When you send a message to the bot:
- The message is forwarded to an n8n workflow
- AI processes the natural language to extract:
- Amount
- Category (Food, Transport, Salary, etc.)
- Transaction type (expense or income)
- Date and notes
- The structured data is then stored in the database
The web dashboard provides:
- Visualization: Charts and graphs of your spending patterns
- Analytics: Insights into your financial habits
- Monitoring: Overview of income, expenses, and balance
- Transaction History: Review and manage past transactions
Note: The dashboard is read-focused. While you can manage transactions here, the primary way to add new entries is through the Telegram bot.
- π£οΈ Natural Language Input: Just chat normally with the Telegram bot
- π€ AI-Powered: Automatic categorization and data extraction
- π Visual Analytics: Beautiful charts showing spending trends and patterns
- π± Mobile-First: Access your dashboard on any device
- π Secure: Telegram authentication, no password needed
- Real-time Sync: Data from Telegram appears instantly
- Monthly Overview: Current month's spending summary
- Quick Metrics: Balance, total income, total expenses at a glance
- Transaction History: Complete list with filtering and pagination
- Category Breakdown: See where your money goes
- Daily Trends: Track spending patterns over time
- Framework: Nuxt 4 - Vue 3 full-stack framework
- Language: TypeScript
- UI Library: Nuxt UI v4.1.0
- Styling: Tailwind CSS
- Charts: Unovis - Data visualization library
- Icons: Iconify (Lucide, Solar, Simple Icons)
- Database ORM: Drizzle ORM with PostgreSQL
- Validation: Zod & Valibot
- Authentication: nuxt-auth-utils (Telegram-based)
- Runtime: Node.js with Bun package manager
- Chat Interface: Telegram Bot API
- AI Processing: n8n workflow automation
- Database: Neon (Serverless PostgreSQL)
- Deployment: Docker containerization
All transaction data is stored in PostgreSQL:
users: Telegram user accountsuser_tokens: Authentication session managementtransactions: All income and expense recordscategories: Pre-defined transaction categories (Food, Transport, Salary, etc.)expenses: Legacy table for backward compatibility
- Monthly spending summary
- Quick metrics cards (balance, income, expenses)
- 5 most recent transactions
- Quick action buttons
- Complete transaction history
- Pagination with "load more"
- Filters: date range, category, transaction type
- Transaction cards with icons and details
- Interactive charts powered by Unovis
- Daily spending trends
- Category-wise breakdown
- Income vs. Expense comparison
- Time period filters
- Telegram account information
- User statistics
- Settings and preferences
jolt/
βββ app/ # Frontend code
β βββ pages/ # Routes (Dashboard, Analytics, etc.)
β βββ components/ # Vue components
β βββ layouts/ # Page layouts
βββ server/ # Backend API
β βββ api/ # REST endpoints
β β βββ transactions/ # Transaction CRUD
β β βββ analytics/ # Analytics data
β β βββ auth/ # Authentication
β βββ db/ # Database schemas
βββ shared/ # Shared types/utils
βββ docs/ # Documentation
The dashboard connects to these API endpoints:
GET /api/transactions- List transactions (with pagination/filters)GET /api/analytics/daily- Daily spending trendsGET /api/analytics/categories-breakdown- Category breakdownGET /api/analytics/summary- Overall summaryGET /api/master/categories- Available categoriesPOST/PUT/DELETE /api/transactions- Manage transactions (optional)
- Daily Tracking: Send expenses to Telegram bot throughout the day
- Weekly Review: Check dashboard to see spending patterns
- Monthly Analysis: Review analytics charts to understand your financial habits
- Budget Monitoring: Track if you're staying within budget
- Category Insights: See which categories consume most of your budget
- Telegram authentication (no passwords)
- Secure session token management
- Environment-based configuration
- Data encryption in transit and at rest
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions or need help, feel free to:
- Open an issue on GitHub
- Try the bot: https://t.me/jollexpenser_bot
