MoneyTrack
#Personal project
#Appstore
#Mobile
#.Net
#React-Native
I. Introduction.
I am good at managing personal expenses. Saving money is my habit, but in order to save money, I need to control my spending. I have tried many apps on the App Store that support expense management, but it’s very annoying to fill out a form every time I buy something. That’s why I built the MoneyTrack app. It allows me to record my expenses with just one message to AI, or even by talking to it directly. The rest—such as categorizing the expense type and adding detailed descriptions—is handled by AI.
II. Techstack
The idea came up during the evolution of LLMs. Nowadays, it’s easy to build a “GPT wrapper” and call it an AI application 🤣, I did the same. To integrate with LLM models, I have to built API server, not only integrate with LLM but also provide some features such as transaction management, restore data, summary & report expenses.
❓
You may wonder why I didn’t build it with Node.js (NestJS), since I’m already familiar with JavaScript. I work as a Fullstack Engineer at my company, using .NET and ReactJS. Building this project with the same stack helps me strengthen my skills.
- Front End: React Native + NativeWind + Expo.
- AI Model: Gemini 2.5 Flash / Open AI (I built the LLMService using the Factory design pattern, which makes it easy to expand and switch models in the future).
- Cloud: Render (I will be switch to Railway soon to optimize cost).
III. Features
The main feature is take note by AI. When a user buys something, for example: “Ăn sáng cùng em gái xinh đẹp hết 500k”, my server builds a prompt by combining it with available categories + rules then sends it to Gemini. The response is extracted into a JSON object and saved as a transaction in the database.
typescript
User Input: "Ăn sáng cùng em gái xinh đẹp hết 500k”"
AI Output:
- Description: "Ăn sáng cùng em gái xinh đẹp"
- Amount: 500.000
- Date: "2025-08-19T14:58:54.155Z"
- CategoryCode: "FOOD_001"
An additional feature is local-to-cloud data sync. Since I want users to have full control of their data, they can turn off cloud sync and keep everything stored locally. But if a user is on multiple devices (like me 🤣), they can enable cloud sync to synchronize their data and restore it across devices.
III. Finally
it’s costly when I need to spend 99$ for apple developer program to deploy my app to app store 😢.
I didn’t build a simple backend. Instead, I designed it with multiple design patterns and clean architecture because I want to scale this project in the near future. This mobile app has already been very helpful for me 💦, and I’d be really happy if you download and use it as well.