RichLife is a personal finance app that helps users take control of their money, track expenses, set savings goals, and build lasting wealth — not by earning millions, but by living happily with 5-10% of their income.
This project is a cross-platform mobile application built with React Native (Expo), featuring a serene design inspired by French elegance and stoic financial wisdom.
Dashboard Goals Transactions
"Being extremely rich is not spending millions — it's living happily with 5-10% of your income."
The app helps users bridge the gap between earning money and living intentionally through daily budget tracking, goal setting, expense monitoring, and a curated library of financial wisdom.
Here's what you can do with RichLife:
- Monthly Summary – View your income, expenses, and savings at a glance with automatic calculations from your transactions.
- Daily Budget – Know exactly how much you can spend each day based on your remaining budget and active credits.
- Credit Management – Spread large purchases over multiple months with custom credit tracking and progress indicators.
- Transaction History – Add, edit, and delete transactions with date selection and category organization. View by month or all time.
- Dreams & Goals – Set personal dreams (travel, car, house) and financial goals with progress tracking and monthly contribution planning.
- Projections – See exactly when you'll reach your goals based on your monthly savings rate.
- Wisdom Library – Browse curated financial quotes from Warren Buffett, Naval Ravikant, Charlie Munger, and more. Filter by category and tags.
- Situation Advice – Get tailored financial advice based on your income level, investment strategies, and mindset.
- Dark / Light Mode – Fully supports both themes with elegant transitions and dynamic backgrounds.
- Multilingual – Available in French (primary) with support for multiple currencies (USD, EUR, GBP, JPY, etc.).
| Technology | Purpose |
|---|---|
| React Native (Expo) | Cross-platform mobile framework |
| TypeScript | Type-safe development |
| AsyncStorage | Local data persistence for transactions, dreams, and goals |
| Expo Router | File-based navigation |
| Ionicons / MaterialIcons | Cross-platform icons (SF Symbols on iOS, Material on Android) |
| Context API | Theme and currency management |
| Custom Hooks | Reusable logic for daily budget, monthly stats, and credits |
| DateTimePicker | Date selection for transactions |
I started by designing the core navigation with a TabView containing five main screens: Home (Dashboard), Transactions, Goals, Wisdom, and System.
Next, I built the transaction system. Users can add income or expenses with categories, descriptions, and dates. Transactions are stored locally and can be viewed by month or all time. The monthly summary automatically calculates total income, expenses, and savings from actual transactions.
Then came the dreams and goals system. Each dream has a target amount, current savings, category, and monthly contribution. The app calculates progress percentages and projects when the goal will be reached. Users can add quick contributions with preset amounts.
For the daily budget feature, I implemented a credit system. Large purchases can be amortized over several months, and the app calculates how much the user can spend per day based on remaining budget and active credits. The formula is simple: (income - expenses - credit payments) / remaining days in month.
The wisdom section features a curated collection of financial quotes with filtering by category and tags. Users can explore advice based on their situation (low income, high income, investment strategies, mindset).
To make the experience elegant, I added a French script font (Parisienne) for titles and a sophisticated background system with dark/light mode support. The IslandCard component creates floating card effects with dynamic theming.
Currency support was implemented through a currency context, allowing users to select their preferred currency from a list of major world currencies.
Throughout development, I focused on creating a serene, non-stressful financial experience — one that encourages mindful spending rather than obsessive tracking.
During this project, I picked up important skills and gained a deeper understanding of cross-platform development:
- Using
ThemeContextandCurrencyContextto manage global app state - Creating custom hooks like
useTheme()anduseCurrency()for clean component access - Persisting user preferences across sessions
- Implementing
AsyncStoragefor reliable data storage across sessions - Storing and retrieving complex objects like dreams, goals, and transactions
- Managing multiple storage keys for different data types
- Building components like
BackgroundImageandIslandCardthat adapt to both iOS and Android - Handling icon compatibility between SF Symbols (iOS) and MaterialIcons (Android)
- Creating responsive layouts that work on different screen sizes
- Implementing dark/light mode with smooth transitions
- Creating dynamic colors that respond to theme changes
- Using overlays to improve text readability on background images
- Calculating daily budgets based on remaining days in the month
- Projecting goal completion dates using monthly contribution rates
- Managing credit amortization over custom time periods
- Computing monthly statistics aggregating dreams, goals, and transactions
- Creating
useMonthlyStatsfor aggregated financial data - Building
useDailyBudgetfor real-time spending calculations - Implementing
useFocusEffectto refresh data when screens appear
- Managing complex forms for adding dreams, goals, and credits
- Implementing auto-calculation of monthly payments based on total amount and duration
- Validating user input with helpful error messages
- Using different background images for light and dark modes
- Adding blur and opacity effects for better text readability
- Creating overlay systems for theme-specific visual adjustments
- Add Google/Apple login
- Add automatic account(upon 1st use), so after verification the data isn't lost
- Add data export/import
- Add offline mode with automatic synchronization
- Add data sharing between family members
- Implement data export (CSV/PDF) for transactions and goals
- Add recurring transactions for monthly bills and subscriptions
- Create charts and graphs for visualizing spending patterns
- Implement cloud sync to backup user data across devices
- Create a widget for home screen showing daily budget
- Add Apple Watch / Wear OS companion app for quick expense logging
- Integrate bank APIs for automatic transaction import (Plaid, etc.)
- Add biometric authentication for enhanced security
- Add family sharing for joint budgets and goals
To run the project in your local environment, follow these steps:
- Clone the repository to your local machine:
git clone https://github.com/Leonardo-jfk/RichLife-App.git cd RichLife-App


