Apip

Loading portfolio

MUHAMMAD AFIFKHOSYIDZAKI

Back to portofolio

01 / 2025 / Individual project

SakuRapi

An offline-first, cross-platform expense manager for tracking personal spending and splitting shared costs.

SakuRapi brings personal spending and shared expenses into one offline-first workflow. Record each transaction with its amount, category, date, and notes; review daily and monthly totals and spending charts; then split group costs equally between participants. PDF reports make it easier to keep or share a clear summary of spending.

Focus
Personal spending and shared costs
Approach
Offline-first
Platforms
Mobile, web, and desktop
Built with
Flutter, Dart, and Provider
SakuRapi personal finance app shown on several mobile screens.

01 / Product overview

Catat. Pahami. Kendalikan.

Make everyday spending easier to understand.

SakuRapi is a cross-platform personal finance app for recording, organizing, and reviewing daily expenses. It also brings shared costs into the same experience, so a group can record one expense and see an equal split between participants.

Product
Personal finance and expense sharing
Platforms
Android, iOS, Web, Linux, macOS, Windows
Localization
Bahasa Indonesia and Rupiah formatting
Stage
MVP · Active development

02 / Problem and response

Turn everyday money questions into a simple routine.

01

The challenge

Spending is easy to forget.

Notes and receipts rarely give a clear picture of where money goes over a day or a month.

Product response

Record each expense with an amount, category, date, and optional note, then review it from one place.

02

The challenge

Patterns are hard to see in a list.

A transaction history contains the details, but it can take time to understand spending habits.

Product response

Daily and monthly summaries, category charts, and spending trends make the history easier to read.

03

The challenge

Shared bills create follow-up work.

For meals, trips, or household costs, people need to agree on each person's share.

Product response

Add participants to a shared expense and calculate an equal share for everyone in that expense.

03 / Who it is for

Designed around real, everyday money situations.

01

Students and boarders

Keep a monthly allowance in view.

Daily and monthly totals, with flexible categories for everyday costs.

02

Young professionals

Understand where regular spending adds up.

Category breakdowns, daily trends, and reports that can be kept or shared.

03

Friends and family

Keep shared meals, rent, and trips organized.

One shared record with an automatic equal split and participant lists.

04 / User journey

From a quick entry to a useful record.

  1. 01

    Record

    Add a title, amount, category, date, and optional note.

  2. 02

    Organize

    Search, filter by category, and sort the transaction list.

  3. 03

    Understand

    Review daily and monthly totals, category shares, and trends.

  4. 04

    Split

    Choose participants and calculate each person's equal share.

  5. 05

    Keep a record

    Export transactions and category summaries as a PDF report.

05 / Product features

One place for personal and shared expenses.

01

Expense tracking

Create, edit, remove, search, filter, and sort personal transactions. Each record can include its title, amount, category, date, and description.

CRUD · Search · Category filters · Sorting
02

Dashboard and history

See spending for the current month and today, transaction counts, and recent activity from the home screen.

Monthly total · Daily total · Recent activity
03

Categories and insights

Use default categories or add personal ones, then explore category distribution and daily spending trends.

Pie chart · Daily bar chart · Custom categories
04

Shared expenses

Create a group expense, add participants, and see the total divided equally. Owner and participant views are kept separate.

Shared by me · Shared with me · Equal split
05

PDF reports

Generate a report containing transaction history, totals, and a category summary, ready to print or share.

PDF · Print · Share
06

Profile and preferences

Manage profile details and account settings from a dedicated profile area.

Profile · Settings · About

06 / System architecture

Keep interface, app logic, and local data in clear layers.

Provider and service classes separate screen state from expense rules and storage. This makes the local-first expense flow easier to maintain while the app grows.

  1. 01

    Presentation

    Flutter screens use Material 3 to present onboarding, expenses, statistics, shared costs, and profile settings.

  2. 02

    State and services

    Provider and ChangeNotifier connect screens to authentication, expense, shared expense, and report services.

  3. 03

    Local data

    SharedPreferences stores core app data on the device, supporting the offline-first approach.

07 / Data model and stack

Organize records around owners, expenses, and categories.

User

Represents an account and its profile information.

Email · display name · phone · join date

Expense

Stores a personal or shared transaction and its participants.

UUID · owner · amount · category · date · note

Category

Organizes transactions with default or user-created labels.

ID · name · global or user owner

Technology stack

Application

  • Flutter
  • Dart 3.7
  • Material 3

State and local data

  • Provider
  • ChangeNotifier
  • SharedPreferences

Charts and reports

  • fl_chart
  • pdf
  • printing
  • share_plus

Utilities and networking

  • intl
  • uuid
  • http
  • path_provider

08 / Status and roadmap

A clear foundation, with the next steps in view.

SakuRapi is an MVP in active development. Expense tracking, summaries, shared expenses, and PDF export form the current product direction. Account flows and per-user data handling are still being strengthened.

01 / Stabilize

Finish the account foundation

Connect login and registration screens to the authentication service, then strengthen account persistence and per-user data isolation.

02 / Expand finance tools

Add more ways to plan

Explore budgets, savings goals, income tracking, more reporting periods, and spreadsheet exports.

03 / Connect across devices

Prepare for collaboration

Consider cloud synchronization, Google or Apple sign-in, and shared-expense settlement tracking.