FlowCash is a modern and elegant personal finance management app built with React Native and Expo. Designed with a premium glassmorphism-inspired UI and fully offline architecture, it empowers users to track, analyze, and manage their daily finances securely and intuitively โ all without depending on cloud services.
-
๐ธ Transaction Management Create, edit, and delete income and expense entries with full categorization and notes support.
-
๐ Internationalization (i18n) Available in 10+ languages with real-time dynamic locale switching and full RTL support.
-
๐ฑ Multi-Currency with Live Conversion Supports USD, BRL, EUR, GBP โ with exchange-rate based conversions to improve precision.
-
๐ Analytics Dashboard View spending patterns, top categories, and income vs. expense charts.
-
๐ Advanced Transaction History Filterable, sortable, and chronologically organized records.
-
๐ค Data Export / Import Backup and restore data via standardized JSON format, with validation and conflict resolution.
-
โ๏ธ Personalization Options Choose preferred language, currency, layout display, and more.
-
๐พ Local-Only Persistent Storage All financial data is securely stored on-device using AsyncStorage โ no internet required.
-
๐จ Premium Glassmorphism UI Aesthetic and responsive design optimized for both performance and visual appeal.
-
๐ Privacy-First Architecture No cloud sync by default โ users retain full control over their financial data.
- React Native & Expo โ Universal mobile app development
- TypeScript โ Strict type safety across the codebase
- React Context API โ Modular and efficient state management
- AsyncStorage โ Offline local data storage
- React Navigation โ Seamless navigation system with native transitions
- Expo BlurView โ Smooth glassmorphic UI effects
- date-fns โ Lightweight date utilities
- Expo File System & Document Picker โ File I/O support
- React Hooks โ Declarative logic in functional components
---
- CRUD for income and expense transactions
- Multi-currency with real-time exchange rates
- Category management (default + custom)
- Data export/import
- Persistent local storage
- Glassmorphism design
- Gesture support
- Performance optimizations
- Responsive layout
- Language switching (10+ languages)
- Locale-aware currency and date formatting
- RTL support
- Budget planning system
- Enhanced analytics dashboard
- In-app transaction search
- Transaction templates
- Quick actions (e.g., swipe to add recurring expense)
- Dark mode support
- Custom transaction categories
- Investment tracking (manual + real-time for stocks/crypto)
- Receipt scanning via OCR
- Biometric authentication
- Recurring transactions
- Multiple accounts and transfers
- Budget forecasting
- Cloud sync (optional)
- Home screen widgets (iOS + Android)
.
โโโ assets/ # App icons, fonts, images
โโโ src/
โ โโโ components/ # UI components (shared & domain-specific)
โ โโโ context/ # Context providers (Preferences, Transactions)
โ โโโ localization/ # i18n setup and translation files
โ โโโ navigation/ # App navigation
โ โโโ screens/ # Main screen views
โ โโโ services/ # Business logic (storage, import/export)
โ โโโ styles/ # Theme and design system
โ โโโ types/ # Global TypeScript types
โ โโโ utils/ # Utility functions (e.g. currency formatting)
โโโ App.tsx # Entry point
โโโ babel.config.js
โโโ package.json
- Component State for isolated UI logic
- React Context API for shared preferences and financial data
- AsyncStorage for local persistence
- Optimistic Updates and state normalization for performance
- Container/Presenter separation for clean responsibility
- Shared and domain-specific UI components
- Prop drilling avoidance with context
- Strategic use of
React.memoanduseMemo
- Real-time dynamic language switching
- Support for date/currency/number localization
- RTL layout support
- String interpolation with placeholders
- Languages fully supported:
- English (en)
- Portuguese โ Brazil (pt-BR)
- Portuguese โ Portugal (pt-PT)
- Spanish (es)
- French (fr)
- German (de)
- Italian (it)
- Japanese (ja)
- Chinese โ Simplified (zh-CN)
- Russian (ru)
- Node.js 14+
- Yarn or npm
- Expo CLI:
npm install -g expo-cli git clone https://github.com/sergiobonatto/flowcash.git
cd flowcash
yarn install # or npm install
yarn start # or npm start1 - Install Expo Go on your iOS or Android device.
2 - Scan the QR code displayed in the terminal.
3 - App will open inside Expo Go.
yarn start # Start dev server
yarn ios # Run on iOS simulator
yarn android # Run on Android emulator
yarn lint # Run linter
yarn typescript # Type checking- Conventional commits (feat:, fix:, chore:)
- Focus on:
- Type safety
- Component reuse
- Architectural consistency
- Performance-conscious updates
- Unit testing for critical logic (coming soon)
FlowCash is an open-source project โ contributions are welcome! 1 - Fork the repository 2 - Create a feature branch:
git checkout -b feature/amazing-feature3 - Implement your changes with tests 4 - Submit a PR with a clear description
The app is currently under active development and has not yet been published to the App Store or Play Store.
- Sergio Bonatto โ Development, design, and architecture
For issues, questions, or suggestions, feel free to:
- Open an issue on the GitHub repository
- Contact the developer via email (for private security concerns)
Built with โค๏ธ using React Native, TypeScript, and modern design principles.