Cashio
A Farsi-first personal finance PWA for tracking expenses, income, debts and investments.
- Role
- Solo builder
- Type
- Own product
- Period
- 2026
- Link
- cashio.ir
The problem
Most popular budgeting apps assume English, the Gregorian calendar and Western banking habits. For Iranian users, amounts are in toman, dates are in the Jalali calendar, and the layout must be right-to-left.
Common situations such as paying off a debt in instalments were often not supported. Cashio is my attempt at a simple alternative built for Persian-speaking users.
My role
I worked on it alone, covering product, design decisions, frontend, backend, database and deployment. It is a side project and still small.
Stack
What I built
- Seven core models (users, categories, expenses, income, investments, debts, push subscriptions). Data access is server-only, through Server Actions and a small service layer.
- Debts with instalments, and reminders sent with Web Push notifications.
- Jalali dates and an RTL layout throughout, using the Vazirmatn font served locally rather than from a CDN.
- Spending charts and CSV export.
- Onboarding before login, password reset, and an installable PWA shell.
I made the first UI prototype quickly in Google AI Studio. I then rebuilt it as a real app with a proper Postgres schema, authentication and server-side data access. A React Native (Expo) client is at an early stage.
Result
- Live in production. It is an early-stage product, so I’m not reporting user numbers yet.
- It gave me hands-on practice with Next.js Server Actions, Prisma 7 driver adapters and Web Push on a self-managed server.
What I’d do next
Add proper usage analytics before adding more features, so I can see which screens people actually use.
