welcomehola!Haii 🖐️AI engineeringdigital solutions
Profile
Rezkydesyafa
Back to projects

Sakoo - AI-Powered Personal Finance Assistant

An AI-powered personal finance platform that helps users record transactions, manage budgets, analyze spending, scan receipts, process voice notes, and generate financial reports through WhatsApp, Telegram, and a web dashboard.

Overview

Sakoo is an AI-powered personal finance assistant designed to make everyday financial tracking easier through conversational interfaces.

Instead of requiring users to manually open a finance application every time they make a transaction, Sakoo allows users to record expenses and income directly through WhatsApp, Telegram, or the web dashboard.

The system combines conversational AI, financial transaction management, receipt OCR, voice transcription, budget monitoring, financial reporting, and a centralized dashboard into a single platform.

Problem

Personal finance tracking often fails because recording every transaction manually requires too much effort and users tend to forget updating their financial records.

Sakoo addresses this problem by bringing financial tracking into communication channels that users already use every day.

Users can simply send messages such as:

  • "Bought coffee for Rp25.000"
  • "Salary Rp5.000.000"
  • "How much did I spend this month?"

The system processes the message, identifies the financial intent, extracts transaction information, and stores the result in the user's financial records.

Conversational Finance Assistant

Sakoo supports financial interaction through:

  • WhatsApp
  • Telegram
  • Web Dashboard

The conversational flow can process everyday financial messages and convert them into structured transaction data.

Users can record income and expenses, review financial information, manage pending transactions, edit data, cancel actions, and interact with the finance assistant through natural language.

AI and Natural Language Processing

The bot uses an LLM-first architecture for understanding financial conversations.

Multiple LLM providers are supported, including:

  • Gemini
  • DeepSeek
  • GLM
  • OpenRouter
  • Ollama
  • Custom OpenAI-compatible providers

Providers can be configured in priority order.

If an LLM provider is unavailable or produces an invalid result, Sakoo can fall back to a local parser instead of completely failing.

The local NLP pipeline handles:

  • Intent detection
  • Amount extraction
  • Date parsing
  • Transaction parsing
  • Category classification
  • Everyday Indonesian language normalization

A trained local category classifier is also used to help categorize financial transactions.

Transaction Management

Sakoo provides a complete transaction management workflow.

Users can:

  • Record income and expenses
  • View transaction history
  • Edit transactions
  • Delete transactions
  • Filter transactions by date
  • Filter by category
  • Filter by income or expense type

The dashboard presents financial information in a more structured and visual format.

Financial Dashboard

The web dashboard provides a centralized view of the user's financial activity.

Users can monitor:

  • Total balance
  • Income and expenses
  • Monthly cash flow
  • Spending categories
  • Transaction history
  • Budget usage
  • Financial summaries

The dashboard is built using Next.js and communicates with the FastAPI backend through REST APIs.

Budget Management

Sakoo includes budget management to help users control spending across different categories.

Users can define spending limits and monitor how much of each budget has been used.

The backend also includes budget notification capabilities to help surface important spending conditions.

Receipt Scanner

Users can upload or send receipt images to Sakoo.

Receipt processing uses Google Vision API to extract text from the image.

The system attempts to identify information such as:

  • Merchant name
  • Total amount
  • Receipt date
  • OCR confidence

Receipt processing is executed asynchronously through Celery and Redis so heavy OCR operations do not block the main application request.

Voice Note Input

Sakoo also supports voice-based financial input.

Voice notes can be processed using Google Speech-to-Text and converted into text before entering the transaction processing pipeline.

This allows users to quickly record transactions without manually typing the information.

Financial Reports

Users can generate financial reports based on their transaction history.

Report generation is processed asynchronously and PDF documents are generated using WeasyPrint.

This allows users to export financial summaries for personal records and further analysis.

Backend Architecture

The backend is built using FastAPI with a modular monolith architecture.

Business domains are separated into modules such as:

  • Authentication
  • Transactions
  • Categories
  • Budgets
  • Bot
  • AI
  • LLM
  • Parser
  • OCR
  • Speech-to-Text
  • Reports
  • Media
  • Jobs
  • Notifications
  • WhatsApp
  • Telegram

This structure keeps the application deployable as a single backend while maintaining clear separation between business domains.

Asynchronous Processing

Sakoo uses Redis and Celery for background processing.

Heavy operations such as:

  • Receipt OCR
  • Voice transcription
  • PDF report generation

are processed asynchronously by background workers.

This architecture prevents long-running external API operations from blocking normal application requests.

Security and Data Access

The application implements authenticated access for dashboard APIs and protected user resources.

Uploaded financial media is associated with its owner and is not exposed as unrestricted public static files.

The platform also supports validation and security mechanisms around external webhook integrations.

Deployment

The project is containerized using Docker.

The main infrastructure includes:

  • Next.js frontend
  • FastAPI backend
  • PostgreSQL
  • Redis
  • Celery Worker
  • WAHA
  • Nginx

Docker Compose is used to orchestrate the services and provide a consistent development and deployment environment.

Tech Stack

Python, FastAPI, Next.js, React, TypeScript, Tailwind CSS, PostgreSQL, SQLAlchemy, Alembic, Redis, Celery, WAHA, Telegram Bot API, Google Vision API, Google Speech-to-Text, WeasyPrint, Gemini, DeepSeek, GLM, OpenRouter, Ollama, Docker, Docker Compose, and Nginx.