The Story Behind uiXpense


How it started

uiXpense started while I was taking the Master Generative AI using JavaScript in 12 Weeks course by Coders Gyan.

One of the modules focused on Generative UI, where the idea was to build interfaces in which AI works directly with real application data, not just text responses.

This project was introduced as part of that module. Instead of treating it as a practice exercise, I chose to build it around a real and familiar problem.

Expense tracking felt like a natural choice. It is something most people deal with, yet it often remains manual, scattered, and easy to ignore.


The initial idea

The core idea was simple:

What if you could talk to your expenses instead of clicking through dashboards?

I wanted users to be able to ask questions like:

  • “How much did I spend on food last month?”
  • “Show me my highest expense category this year.”
  • “Compare my spending this month vs last month.”

And get:

  • Clear answers
  • Step-by-step reasoning
  • Visual charts when helpful

All through a chat interface.


What I built

uiXpense is a chat-based expense tracker where:

  • Users interact using natural language
  • The AI understands intent and routes logic using LangGraph
  • Expenses are fetched, analyzed, and visualized dynamically
  • Responses are streamed in real time using Server-Sent Events (SSE)

The frontend is built with React + Tailwind, while the backend uses Node.js and Express to handle:

  • LLM orchestration
  • Streaming responses
  • Rate limiting and API safety

Challenges & learning

This project taught me a lot beyond just LLMs.

Some key things I learned:

  • How streaming protocols (SSE) behave in real production environments
  • Why middleware order matters in Express
  • How CORS, proxies, and rate limiting interact at scale
  • How to structure AI systems so they’re debuggable, not magical

A major learning moment was debugging CORS and streaming issues after deploying to Vercel and Render, problems that never appeared locally but mattered a lot in production.


Why this project matters to me

uiXpense represents a shift in how I think about building applications.

Instead of : "How do I add AI to this app?"

I started thinking: "How should the user experience change because AI exists?"

This project is still evolving, and I plan to keep improving it, but it already reflects how I approach modern full-stack and AI-driven systems.


What's next

Some ideas I plan to explore next:

  • User-based quotas instead of IP-based limits
  • Better long-term memory for conversations
  • Smarter financial insights and summaries

uiXpense is not just a project, it's a learning ground.


Screenshots

Landing Page
Chat-based Expense Query
Expense Visualization
Image 0 of 3

MP

@mukulpadwal

Portfolio assistant

Ask me about this page

uiXpense-ai - AI Powered Expense Tracker | Mukul Padwal