Back to Projects

Telegram Expense Splitting Bot

Smart Telegram bot for splitting bills and tracking shared expenses

PythonTelegram Bot APISupabaseasyncio

Overview

A Telegram bot that simplifies expense splitting among friends and roommates. Built with Python, it allows users to add expenses, track who owes what, and settle debts directly within Telegram. Features group expense management, automatic calculations, and payment reminders.

Key Features

  • Add and split expenses with customizable distribution
  • Track balances between multiple users in groups
  • Smart debt simplification to minimize transactions
  • Interactive inline keyboards for easy navigation
  • Expense history and detailed reports

Tech Stack

Backend

Pythonpython-telegram-botasyncio

Database

Supabase

Tools & Deployment

GitHubDocker

Challenges & Solutions

The main challenge was implementing the debt simplification algorithm to minimize the number of transactions needed to settle all debts. I used graph theory concepts to calculate the optimal payment flow, reducing complexity for users with multiple shared expenses.

What I'd Improve

Future enhancements could include multi-currency support, integration with payment platforms for direct settlements, recurring expense tracking, and expense categories with spending analytics.