All Case Studies
Fintech & Banking Mobile App / Fintech

Fintech Expense Sharing App

Secure, high-performance mobile application for expense sharing and financial management, integrating with cards and providing scalable APIs.

Client Smoov
Location California, USA
Duration 7 months
Team 5 engineers

The Challenge

Smoov's founding team had a clear hypothesis: couples and housemates managing shared finances needed something between Venmo (too transactional) and a joint bank account (too formal). They wanted to build an app where users could link their existing cards, automatically categorize shared expenses, split them in configured ratios, and settle up on a chosen schedule without the social awkwardness of manual requests. The challenge was handling the financial data sensitivity requirements, building a reliable card-linking layer over fintech APIs, and calibrating the UX so that something inherently complex felt simple.

Our Solution

We built Smoov on iOS and Android in React Native, with a Node.js backend that connects to Plaid for card and bank account linking. Shared expense categories and split ratios are configured once per relationship, and the app automatically proposes assignments for new transactions based on the merchant category and past behavior. Settlements happen via ACH on a user-configured schedule (weekly, monthly, or on-demand). All financial data in transit and at rest is encrypted, and the app operates under a strict data minimization policy — we pull only the transaction fields needed for the split calculation, nothing else from the bank feed.

Our Approach

01

Financial API Architecture

Built the card-linking and transaction polling layer over Plaid Link, handling OAuth bank authentication, consent management, and webhook-based transaction ingestion. Implemented a retry queue for failed webhook deliveries so no transactions are silently dropped when bank APIs have downtime.

02

Expense Categorization & Split Engine

Built a categorization layer that maps Plaid's merchant categories to the app's simplified shared/personal taxonomy. Users can configure default split ratios per category (e.g., groceries split 50/50, streaming subscriptions covered by one partner). A manual override flow lets users reclassify transactions and those corrections feed back into the model.

03

Settlement & Notifications

Integrated Dwolla for ACH settlement between linked bank accounts, handling micro-deposit verification for new accounts. Settlement runs automatically on the configured schedule or on user request. Push notifications surface unsettled balances, new transaction assignments, and upcoming scheduled settlements to keep both parties informed without being intrusive.

04

Security & Compliance

Implemented AES-256 encryption for stored financial data, certificate pinning on API calls, and jailbreak/root detection to block compromised devices. Engaged a third-party auditor to review the Plaid integration and data handling practices before the public launch. Drafted and implemented a privacy policy in line with CCPA requirements for California users.

"The split engine just works. We demoed it to investors using a live bank account and they were impressed by how natural it felt. TESARK built exactly what we described and then made it better."

CEO & Co-Founder Smoov

Key Results

12K+ Linked accounts in the first 60 days
94% Transaction auto-categorization accuracy
>$2M Settled between users in beta period
4.8★ App Store & Play Store rating

Tech Stack

React Native Node.js PostgreSQL Plaid Dwolla Redis AWS TypeScript Docker

Let's Build Together

Have a similar challenge? We'd love to hear about your project.

Start a Conversation