MoneyMaster
A personal finance app for phones — expense tracking and budgeting, with dark mode and a full right-to-left layout.
- Role
- Software Engineer
- Status
- shipped
Problem
Budgeting apps assume a left-to-right interface and a single language, which rules them out for a large share of the people who need one. MoneyMaster tracks spending on the phone with reminders, theming and an RTL layout, so the interface is not the thing in the way.
Architecture
Read this diagram as text
- React Native app mounts NativeWind UI
- React Native app connects to Supabase auth
- React Native app connects to Supabase
- React Native app schedules Push notifications
Engineering decisions
The stack, reasoning not written up yet:
React Native · TypeScript · Expo · Supabase · NativeWind · Prisma
The hard part
Right-to-left on a phone is not a stylesheet switch. React Native applies RTL at the native level, so the flip only lands after a reload, and everything positioned by hand — the mascot, the charts, the swipe actions on an expense row — keeps its left-handed geometry until it is rewritten in terms of start and end rather than left and right. Reminders had the matching problem: notifications scheduled on the device fire in the device's timezone, so a budget that resets on the first of the month is scheduled against the user's own calendar and not the server's.
Result
Real-time expense tracking and budgeting on the phone, with dark mode, push reminders, gender-specific personalisation, a mascot assistant, Supabase authentication, and multi-language support including a right-to-left layout.
Live and source
No public deployment — this one is not hosted anywhere a visitor can open. Happy to walk through it.
