CK Works
Selected work

Finance Dashboard / API Integration

Centi

A personal finance dashboard that connects account data and turns transactions into clearer insights.

Role

Design, Full-Stack Development

Stack

React, FastAPI, PostgreSQL, Tailwind

Status

Personal Product

Screenshot coming soon

The short version

Centi came out of wanting one honest picture of my money instead of five apps that each showed a slice of it.

I built a dashboard that pulls account data together, cleans up the transactions, and turns them into something you can actually read: where money goes, how it trends, and what changed this month.

The problem

Raw transaction data is technically information, but it isn't insight. It's inconsistent, badly labeled, and spread across accounts that don't talk to each other.

The goal was less "another budgeting app" and more a clear reporting layer: connect the data once, then let the dashboard do the explaining.

What I built

  • account and transaction data integration
  • categorization and cleanup pipeline
  • spending and trends dashboard
  • monthly summaries and comparisons
  • API layer for the frontend

Design decisions

Dashboards die from density. Centi shows a few numbers that matter up front, and keeps the deep detail one click away instead of one glance away.

Every chart answers a question in plain words — "what changed this month?" — instead of assuming the user wants to read graphs for fun.

Technical decisions

The core of the system is the data model, not the charts. Transactions are normalized into a consistent structure first, which keeps categorization, summaries, and the API layer simple.

FastAPI serves the data, PostgreSQL stores it, and React renders the dashboard. Most of the real work happens in the cleanup pipeline before anything hits the screen.

Challenges

The messy part was the data itself: the same merchant showing up five different ways, refunds, transfers pretending to be spending. Getting categorization trustworthy took more iterations than any UI decision.

The outcome

Centi became a working dashboard and a strong example of the systems side of what I do: API integration, data modeling, and turning messy inputs into reporting people can trust.

What I'd improve next

Next would be smarter categorization that learns from corrections, and simple forecasting — showing where the month is heading, not just where it ended.

Have a project like this in mind?

Let's talk about what's possible.