Hero Image

WhereDidISpend

An AI powered expense-management mobile application developed using Flutter

In Progress

Start DateDecember, 2023
End DateN/A
StatusIn Progress
Team Size1 member(s)

Technologies

Below are the technologies used in this project.
Nest.JsFlutterReact.JsMongoDBRESTful APIFirebaseAWS S3TypescriptAWS EC2RedisMicro-service architectureGoogle Gemini

WhereDidISpend is a mobile and web application designed to help users efficiently track their spending by providing a simple, intuitive interface for managing expenses. The app allows users to add transactions manually or through UPI payment screenshots shared via WhatsApp or Telegram, which are then automatically processed and categorized. It’s perfect for users who want to gain better control over their finances without the hassle of manually entering every transaction.

Development Details

I developed WhereDidISpend mobile app using Flutter, and Webapp using React.js. The backend features a microservice architecture developed in Nest.js:

  1. Microservice for Telegram and WhatsApp Integration:
    • This service listens for webhook events from WhatsApp Business and Telegram, downloads UPI transaction images, and processes them.
    • I used Google Gemini with prompt engineering to extract relevant information like sender details, amount, and transaction date from the images.
    • Processed data is stored in a queue, and another backend service listens to these events and updates the user's account with the expense details.
  2. Mobile & Web Application:
    • The mobile app, built with Flutter, allows users to manually add transactions or use the 'Add via WhatsApp/Telegram' feature to automate the process.
    • The web version, developed in React.js, adds more features like data visualization with graphs, making it easier to monitor expenses over time.
    • Both applications use REST APIs for data fetching, with features like Google Sign-in and react-query/provider for efficient state management.
  3. Technologies Used:
    • Flutter for the mobile app.
    • React.js for the web version.
    • Tailwind CSS and DaisyUI for UI/UX development of the WebApp.
    • AWS (EC2, S3) for deployment, and storage of UPI images.
    • Google Gemini API for image analysis.
    • Telegram and WhatsApp Business APIs for integration.

Motivation for Development

I developed WhereDidISpend to address a common pain point: manually tracking expenses can be tedious and time-consuming. With UPI payments becoming the norm, I wanted to create a tool that automates expense tracking directly from transaction screenshots, making the process simpler and faster. The idea was born out of personal experience and feedback from peers who found it difficult to stay on top of their daily spending.

Target User Base

The primary user base includes:

  • Frequent UPI users: Individuals who make multiple transactions via UPI daily and want an easier way to keep track of their expenses.
  • Budget-conscious individuals: Users looking for a tool to help them monitor and control their spending habits.
  • Tech-savvy millennials: People who appreciate the convenience of automation and prefer to manage their finances digitally.

Key Features

  • Add via WhatsApp/Telegram: Users can send UPI transaction screenshots, and the app will automatically extract and record the details.
  • Cross-platform availability: Users can access their spending data on both mobile (Flutter) and web (React.js).
  • Data visualization: Graphs and charts provide an intuitive way for users to visualize and analyze their spending patterns.

Why This Project Stands Out

What makes WhereDidISpend unique is its ability to automatically process UPI screenshots, a feature that simplifies expense tracking for users. The use of advanced image processing, microservice architecture, and the seamless integration with popular messaging platforms like WhatsApp and Telegram make it stand out from other expense trackers.

Team

1 member(s)
Abhishek Diwakar

Abhishek Diwakar

Software Engineer