Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FlowWise Logo

FlowWise πŸ’Έ

Your Intelligent, Agent-Powered Financial Companion

Expo React Native Clerk Auth Gemini AI Behance Case Study

FlowWise is a modern personal finance application built with React Native and Expo. Experience seamless expense tracking, secure authentication, and AI-driven insights to master your financial flow.


πŸ“Έ Screenshots

Dashboard Transactions Add Expense Insights
Dashboard Transactions Add Expense Insights
Spending Goals Profile Onboarding
Spending Goals Profile Onboarding

✨ Key Features

  • πŸ›οΈ Expense & Transaction Tracking: Log, categorize, and monitor your expenses seamlessly.
  • πŸ€– AI-Powered Assistant: Leverage Google's Gemini to analyze your spending and get smart financial advice.
  • πŸ” Secure Authentication: Enterprise-grade security handling identity management via Clerk.
  • πŸ—ƒοΈ Local First SQLite: Fast and reliable persistent local database using Expo SQLite.
  • 🎨 Modern UI/UX: Smooth animations powered by Reanimated, Bottom Sheets, and custom Google Fonts (DM Sans, Syne).
  • πŸ“± Cross-Platform: Write once, run seamlessly on Android, iOS, and Web.

πŸ› οΈ Tech Stack

  • Framework: Expo & React Native
  • Routing: Expo Router (app/ directory)
  • State Management: Zustand
  • Authentication: Clerk Expo (@clerk/clerk-expo)
  • Database: Expo SQLite
  • AI Integration: Google Gemini API
  • Animations: React Native Reanimated & React Native Gesture Handler

πŸš€ Getting Started

Follow these instructions to get a local copy up and running on your machine, whether you are on macOS or Windows.

Prerequisites

Before you begin, ensure you have the following installed on your machine:

  • Node.js: (v18 or newer recommended). Download from Node.js Official Site.
  • npm or yarn or bun: Node package managers.
  • Git: Version control system.

🍏 For macOS Users (iOS & Android)

  • Xcode: Required for iOS simulation. Download from the Mac App Store.
    • Setup: Open Xcode -> Settings -> Locations -> Ensure Command Line Tools are selected.
    • Install the iOS Simulator inside Xcode.
  • Android Studio: Required for Android emulation. Download from the Android Developer Site.
    • Setup: Follow Android Studio prompts to install the Android SDK and create an Android Virtual Device (AVD).

πŸͺŸ For Windows Users (Android Only)

  • Note: You cannot run an iOS simulator natively on Windows. To test on iOS, you must use the Expo "Go" app on a physical iPhone.
  • Android Studio: Required for running the Android emulator. Download from the Android Developer Site.
    • Ensure you set up your ANDROID_HOME Environment Variable to point to your Android SDK.
    • Create a Virtual Device in the Device Manager.

1️⃣ Installation

  1. Clone the repository

    git clone https://github.com/your-username/flowwise.git
    cd flowwise
  2. Install dependencies

    npm install
    # or yarn install

2️⃣ Environment Setup

You need to set up environment variables for Authentication (Clerk) and AI (Gemini).

  1. Create a .env file at the root of your project:

    # On macOS/Linux
    touch .env
    
    # On Windows (Command Prompt)
    type nul > .env
  2. Add the following keys to your .env (obtain your API keys from Clerk and Google AI Studio):

    # Clerk Authentication Keys
    EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
    CLERK_SECRET_KEY=your_clerk_secret_key
    
    # Gemini AI Key
    EXPO_PUBLIC_GEMINI_KEY=your_gemini_api_key

3️⃣ Running the App

Once setup is complete, you can start the development server.

# Start the Expo Metro Bundler
npx expo start

From the terminal prompt, you can press:

  • i to open the iOS simulator (macOS only).
  • a to open the Android emulator (macOS & Windows).
  • w to open it in a web browser.
  • Or scan the QR code with the Expo Go app on your physical iOS/Android device!

πŸ“‚ Folder Structure

flowwise/
β”œβ”€β”€ app/               # Expo Router pages and layouts (Navigations)
β”‚   β”œβ”€β”€ (auth)/        # Authentication screens (Sign In, etc.)
β”‚   β”œβ”€β”€ expense/       # Expense management screens
β”‚   β”œβ”€β”€ transaction/   # Transaction detailed views
β”‚   └── index.tsx      # Main application entry point
β”œβ”€β”€ assets/            # Images, icons, and fonts
β”œβ”€β”€ components/        # Reusable UI React components
β”œβ”€β”€ constants.js       # App-wide constants (themes, configurations)
β”œβ”€β”€ db/                # SQLite database schemas and queries
β”œβ”€β”€ store/             # Zustand state management slices
β”œβ”€β”€ services/          # API calls (e.g., Gemini integration)
└── utils/             # Helper functions and hooks

🎨 Design Case Study

The full UI/UX design process, wireframes, and visual design decisions for FlowWise are documented on Behance.

πŸ“ View the FlowWise Case Study on Behance β†’


🀝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.


Built with ❀️ by the FlowWise Team

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages