BL.
FEATURED PROJECT

Track. Split. Settle.
All in one place.

SplitFin connects personal finance tracking and shared expenses in one workflow — so users can track spending, split costs, scan bills and settle balances without moving between separate apps.

Frontend-focused Full Stack·In Development·Next.js · TypeScript · PostgreSQL
SplitFin dashboard showing finance tracking and shared expense management
WHY SPLITFIN

Personal money and shared expenses should not feel like separate worlds.

Most finance apps track personal spending. Most split apps track who owes whom. SplitFin connects both workflows so a shared dinner, trip or household bill can remain part of the user's wider financial picture.

Built for

Individuals · Friends · Roommates · Groups

MY ROLE

Product thinking · UI/UX engineering · Frontend architecture · API integration

1

TRACK

Record income, expenses, accounts and categories.

2

SPLIT

Turn a transaction into a shared expense.

3

SETTLE

Keep balances clear across people and groups.

4

UNDERSTAND

See spending patterns and financial context.

PRODUCT EXPERIENCE

See how the workflow comes together.

Financial overview

Financial overview

Balances, spending, recent activity and shared expense context in one place.

TRANSACTIONS

TRANSACTIONS

Review and filter financial activity.

ADD TRANSACTION

ADD TRANSACTION

Capture income or expenses with structured context.

SPLIT EXPENSE

SPLIT EXPENSE

Choose participants, payer and split method.

BILL SCANNER

BILL SCANNER

Turn receipt data into a reviewable expense flow.

HOW IT'S BUILT

A simple structure designed to grow with the product.

Stack

Frontend

Next.js · React · TypeScript · Tailwind CSS

Data & State

TanStack Query · Zustand

Backend

Next.js API Routes · Node.js

Data

Prisma · PostgreSQL

Flow

1

UI

2

Feature Logic

3

Query / Mutation Layer

4

API Routes

5

Server Services

6

Prisma

7

PostgreSQL

UI stays focused on interaction while feature logic, server workflows and persistence remain easier to reason about independently.

Structure

src/
├── app/
├── components/
├── features/
│   ├── transactions/
│   ├── accounts/
│   ├── categories/
│   └── splitpay/
├── server/
│   ├── services/
│   ├── repositories/
│   └── queries/
├── hooks/
├── store/
├── lib/
└── types/

EVOLVING FEATURE-BASED STRUCTURE

Feature ownership

Keep domain behavior near the feature.

Thin pages

Pages compose instead of owning business logic.

Server separation

Persistence stays outside presentation UI.

Engineering Challenges

Where the product becomes more than a CRUD dashboard.

SPLIT CALCULATIONS

In Progress

Shared expenses become complex when participants use equal, exact or percentage-based allocations.

Approach

Pure calculation logic · validation · rounding safety

BILL CAPTURE WITHOUT DUPLICATES

Planned

A scanned receipt can overlap with an existing manual transaction or shared expense.

Approach

Normalization · similarity checks · user confirmation

KEEPING FINANCE AND SPLITS CONNECTED — NOT COUPLED

Built

A transaction records money movement, while a split records how cost is shared between people.

Approach

Separate domains · explicit references · controlled synchronization

What's Next

A phased path from useful finance tool to connected money platform.

Built

PHASE 1

FOUNDATION

  • transactions
  • accounts
  • categories
  • dashboard
In Progress

PHASE 2

SHARED MONEY

  • split workflows
  • groups
  • balances
  • settlements
Planned

PHASE 3

AUTOMATION

  • scanner refinement
  • duplicate detection
  • recurring expenses
Future

PHASE 4

CONNECTED FINANCE

  • secure bank integrations
  • smarter insights
  • multi-currency

Interested in how I build real product workflows?

I'm open to frontend and full-stack opportunities where thoughtful interfaces and maintainable product architecture matter.