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

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.
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.
Record each expense with an amount, category, date, and optional note, then review it from one place.
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.
Daily and monthly summaries, category charts, and spending trends make the history easier to read.
The challenge
Shared bills create follow-up work.
For meals, trips, or household costs, people need to agree on each person's share.
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.
Students and boarders
Keep a monthly allowance in view.
Daily and monthly totals, with flexible categories for everyday costs.
Young professionals
Understand where regular spending adds up.
Category breakdowns, daily trends, and reports that can be kept or shared.
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.
- 01
Record
Add a title, amount, category, date, and optional note.
- 02
Organize
Search, filter by category, and sort the transaction list.
- 03
Understand
Review daily and monthly totals, category shares, and trends.
- 04
Split
Choose participants and calculate each person's equal share.
- 05
Keep a record
Export transactions and category summaries as a PDF report.
05 / Product features
One place for personal and shared expenses.
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 · SortingDashboard and history
See spending for the current month and today, transaction counts, and recent activity from the home screen.
Monthly total · Daily total · Recent activityCategories and insights
Use default categories or add personal ones, then explore category distribution and daily spending trends.
Pie chart · Daily bar chart · Custom categoriesShared 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 splitPDF reports
Generate a report containing transaction history, totals, and a category summary, ready to print or share.
PDF · Print · ShareProfile and preferences
Manage profile details and account settings from a dedicated profile area.
Profile · Settings · About06 / 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.
- 01
Presentation
Flutter screens use Material 3 to present onboarding, expenses, statistics, shared costs, and profile settings.
- 02
State and services
Provider and ChangeNotifier connect screens to authentication, expense, shared expense, and report services.
- 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 dateExpense
Stores a personal or shared transaction and its participants.
UUID · owner · amount · category · date · noteCategory
Organizes transactions with default or user-created labels.
ID · name · global or user ownerTechnology stack
Application
- Flutter
- Dart 3.7
- Material 3
State and local data
- Provider
- ChangeNotifier
- SharedPreferences
Charts and reports
- fl_chart
- 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.
Finish the account foundation
Connect login and registration screens to the authentication service, then strengthen account persistence and per-user data isolation.
Add more ways to plan
Explore budgets, savings goals, income tracking, more reporting periods, and spreadsheet exports.
Prepare for collaboration
Consider cloud synchronization, Google or Apple sign-in, and shared-expense settlement tracking.