Inspiration
Niqdah (Next-Generation Intelligence for Quick Decisions in Assets & Holdings) was inspired by a problem I have experienced personally: managing money is difficult when financial information is scattered across bank notifications, SMS messages, receipts, and personal notes. The name "Niqdah" also means money, which fits perfectly for the name of the app as it works around money and finance management.
Many budgeting applications require users to enter every transaction manually, connect bank accounts, or understand complicated charts. This creates friction, especially for people who simply want answers to practical questions such as:
Where did my salary go this month? How much am I spending on food and transportation? Am I saving enough? Which expenses are increasing? Can I afford a planned purchase? How can I reduce unnecessary spending?
I wanted to build a financial assistant that feels less like an accounting system and more like a helpful conversation. Niqdah transforms everyday transaction data into organized records, understandable insights, and natural-language answers.
The project is especially designed for users whose banks may not provide advanced budgeting tools or accessible financial APIs. Instead of depending entirely on direct bank integrations, Niqdah can identify financial activity from supported bank SMS messages and notifications.
What it does
Niqdah is an AI-powered personal finance assistant that helps users understand and manage their financial activity.
The application can organize transactions into categories such as:
Income Food Transportation Shopping Bills Savings Transfers Cash withdrawals Other expenses
Users can review their transaction history, track their income and spending, monitor savings, and receive summaries of their financial activity.
The AI assistant allows users to ask questions in natural language, such as:
How much did I spend on food this month?
Compare my expenses this month with last month.
What are my three largest spending categories?
How much can I safely save from my remaining income?
Niqdah can also calculate useful indicators. For example, the user’s savings rate can be represented as:
[ \text{Savings Rate} = \frac{\text{Income} - \text{Expenses}}{\text{Income}} \times 100 ]
A simple monthly balance can be calculated as:
\text{Total Income}
\text{Total Expenses} ]
These calculations provide the factual foundation, while OpenAI helps explain the results in clear and conversational language.
How we built it
Niqdah is being developed as an Android application with a structured architecture that separates the user interface, transaction-processing logic, data storage, and AI features.
The application processes supported financial notifications and extracts information such as:
Transaction amount Currency Merchant or recipient Transaction type Date and time Account or card reference Available balance, when included
Because banks use different SMS formats, I am developing a template-based parsing system. Each supported bank can have its own parsing rules, while a shared transaction model allows the rest of the application to work consistently.
After a message is parsed, Niqdah classifies the transaction and stores the structured result. The application then uses this data to generate summaries, spending breakdowns, savings information, and financial insights.
OpenAI is used as the conversational and explanatory layer. Rather than sending uncontrolled raw financial data directly to the model, the application prepares structured and relevant financial context for each request. This helps the AI provide grounded answers based on the user’s actual transaction records.
For example, when a user asks about food spending, the application first calculates the relevant transactions and total amount. The AI then explains the result, identifies patterns, and presents practical suggestions.
This approach combines deterministic calculations with AI-generated explanations:
The application retrieves the relevant transactions. Financial totals are calculated locally or through trusted application logic. Only the necessary structured context is prepared. OpenAI generates an understandable response. The answer is displayed as part of a conversational financial assistant.
Challenges we ran into
One of the biggest challenges was the lack of a universal format for bank SMS messages. Two banks may describe the same type of transaction using completely different wording. Even messages from the same bank can vary depending on whether the transaction is a purchase, transfer, withdrawal, deposit, refund, or declined payment.
Another challenge was avoiding incorrect classifications. A transfer between a user’s own accounts should not always be treated as an expense, and a refund should not be treated as ordinary income. Niqdah therefore needs clear transaction types and validation rules instead of relying only on keywords.
Privacy was also a major consideration. Financial information is highly sensitive, so the application must minimize the data shared with external services. The AI should receive only the context required to answer the user’s question, rather than the user’s entire financial history.
I also had to balance flexibility with reliability. AI is excellent at explaining patterns and answering natural-language questions, but mathematical totals should not depend entirely on a language model. I learned to separate responsibilities: the application performs financial calculations, while the AI interprets and explains the results.
Additional challenges included:
Handling duplicate notifications Detecting multiple currencies Recognizing reversed or refunded transactions Supporting different date and number formats Designing useful insights without overwhelming the user Creating safeguards against unsupported financial conclusions Building an experience that remains useful even with incomplete transaction data
What we learned
Building Niqdah taught me that a strong AI application needs more than a prompt. The quality of the response depends heavily on the quality and structure of the context provided to the model.
I learned that deterministic software and generative AI work best together. Traditional application logic is more reliable for calculations, validation, filtering, and transaction processing. OpenAI adds value by turning those results into explanations that are easier for users to understand and act upon.
I also learned the importance of designing AI features around real user decisions. A chart showing that food spending increased is useful, but a conversational explanation of when it increased, what caused it, and how the user might respond is significantly more valuable.
Another important lesson was that financial guidance must be presented carefully. Niqdah is intended to support budgeting and financial awareness, not replace qualified financial advice. Recommendations should be practical, transparent, and based on the available data.
What's next for Niqdah
During OpenAI Build Week, I am completing the core Niqdah experience and bringing the different parts of the project together into a functional application.
My focus includes:
Completing the AI financial assistant Improving transaction categorization Refining the bank-message template engine Building financial summaries and insights Supporting savings and transfer detection Improving filters and transaction search Adding clearer privacy controls Testing the application with realistic financial scenarios Preparing a polished demonstration of the complete user journey
The final experience will demonstrate how OpenAI can transform raw transaction records into useful, personalized, and understandable financial guidance.
The Goal
The goal of Niqdah is not simply to show users numbers. It is to help them understand what those numbers mean.
By combining structured transaction processing, reliable financial calculations, and OpenAI-powered conversations, Niqdah aims to make personal finance management simpler, more accessible, and more human.
Built With
- ai-assistant
- android
- budgeting
- classification
- cloud-functions
- data-privacy
- financial-insights
- fintech
- firestore
- gpt
- jetpack-compose
- kotlin
- mobile
- natural-language-processing
- openai
- sms-parsing
- transaction
Log in or sign up for Devpost to join the conversation.