Inspiration

The idea for Centsory came from a simple frustration. I’d seen so many friends (myself included) try budgeting apps, only to give up after a few days. It made me wonder, why are these tools so hard to stick with?

The more I thought about it, the more it felt like a bigger issue than just bad UX. If the tools meant to help people manage money aren’t being used, then they’re not really helping at all. And the data reflects that. According to the S&P Global Financial Literacy Survey, only 1 in 3 adults worldwide can demonstrate basic financial literacy and youth score even lower. The OECD’s PISA assessments show a similar trend across Southeast Asia, where adolescents are among the least financially prepared despite being highly digitally active.

That's what pushed me the tool I wished I had at 16. Something that felt less like a chore and more like a coach, and that became Centsory AI!

What it does

Centsory AI is an intelligent financial coaching platform built for teenagers and young adults in Southeast Asia. It transforms how young people relate to money, moving them from passive spenders to informed, habit-driven savers.

Here's a list of its features: A) Understands How You Actually Talk About Money Log expenses in plain, natural language. Just type "grabbed nasi lemak RM6" or "spent 50k on Grab" and Centsory's AI will figure out the amount, category, and description automatically.

B) Scores Your Financial Health in Real Time Updates your Financial Health Score (0-100) in every transaction, a composite measure of your spending-to-savings ratio, category balance, and logging consistency. It tells you not just what you spent, but how well you're managing your money.

C) Coaches You Like a Friend A built-in AI chat coach knows your spending history, your goals, and your budget, and talks to you in plain, encouraging language. Where you can ask without being scared of judgment, from something like "Am I spending too much on food?" or "How do I start saving?"

D) Built for Southeast Asia Full support for 6 local currencies (MYR, IDR, SGD, PHP, THB, VND), regional language expense inputs, and culturally relevant spending categories.

How we built it

Centsory was built over 2 weeks, step by step, starting from a clear problem, making practical architecture decisions, and gradually shaping it into a full product. I didn’t try to build everything at once. Instead, I focused on getting the foundation right first, then layering features on top as things became more stable.

I started with the backend by setting up Supabase for authentication and designing the database schema. From there, I built out the FastAPI endpoints one feature group at a time, making sure each part worked properly before moving on. Once the data layer felt solid, I moved to building the frontend it in React with Vite and styling using Tailwind CSS.

AI features came last. I only introduced them once there was enough structured data flowing through the system, so the models would have meaningful context to work with instead of generating generic responses.

The system follows a simple three-tier architecture:

  • On the user side, the app runs in the browser using a React frontend hosted on Vercel.
  • The frontend communicates with a Python FastAPI backend through a REST API secured with JWT authentication.
  • The backend connects to two main services: a Supabase PostgreSQL database, which handles authentication and data storage across eight tables with row-level security, and the Groq API, which powers all AI features using Llama 3.3 70B.

Challenges we ran into

One of the biggest challenges was getting the AI to feel useful instead of generic. It’s relatively easy to get something working, but much harder to make it sound natural, context-aware, and actually helpful. I spent a lot of time refining prompts so the responses felt encouraging and relevant.

Designing the Financial Health Score was another challenge. I didn’t want something that just looked good, it had to feel fair across very different users. Balancing simplicity with accuracy took a few iterations before it felt right.

Working within free-tier limits also forced a lot of trade-offs. I had to be intentional with every API call, database query, and feature to make sure the system could run reliably without cost.

Accomplishments that we're proud of

I’m proud that Centsory feels genuinely usable. Logging expenses in plain language and talking to the AI coach both feel simple and easy to get into, instead of overwhelming.

What matters most to me is that it actually fits the people it’s built for! The language, features, and overall experience are shaped around how young people in Southeast Asia think about and use money.

What we learned

Building Centsory taught me that a lot of the hard parts aren’t purely technical. Getting the AI to feel natural and helpful took just as much iteration as building the backend or frontend. Small changes in tone or wording made a big difference in how the product felt.

I also learned that simple systems are often more effective. The Financial Health Score only works because it’s easy to understand and feels fair across different users.

Working within free-tier limits forced me to be more intentional. It pushed me to keep the architecture simple and focus on what actually matters.

And building for real users changed how I approached decisions. I started thinking less about what’s possible and more about what’s actually useful and trustworthy.

What's next for Centsory AI

  • Next, I want to improve personalization. That includes better AI responses based on long-term behavior and more relevant insights over time.
  • I also plan to expand the learning experience, with more interactive content and clearer explanations that fit naturally into the product.
  • On the product side, I want to refine the overall flow. Smoother onboarding, clearer feedback, and better connections between features.
  • I also want to expand support to cover more currencies across Southeast Asia, so the experience feels truly local no matter where the user is.
  • Longer term, the goal is to make Centsory something people keep using, not just something they try once.

Built With

Share this project:

Updates

Submission history