Inspiration

OneStatement was born out of a monthly finance check with my partner. We found ourselves manually combing through credit card statements, categorizing transactions, and piecing everything together just to understand our spending. We thought: there has to be a faster, more secure way.

What it does

OneStatement transforms messy PDF bank and credit card statements into one clean, unified view. Users can upload their statements, categorize transactions, view insights, and even export data — all offline and private.

How we built it

The app is built for iOS with Swift and SwiftUI, using SwiftData for efficient local storage and RevenueCat for subscription management. Privacy is at its core: no data ever leaves the device.

Challenges we ran into • Learning and adopting SwiftData for the first time. • Parsing PDFs reliably across different bank formats. • Designing a user-friendly categorization flow.

Accomplishments we’re proud of

• Supporting DBS and Citi credit card statements in Singapore as our initial launch.
• Architecting the system to be future-proof so adding more banks (and debit cards) will be seamless.
• Building the entire app to run fully offline with Face ID security.

What we learned

• How to combine SwiftUI with SwiftData for smooth local data management.
• The importance of UX when dealing with financial data — users want clarity and speed.
• How to balance freemium features and premium value.

What’s next for OneStatement

• Expanding support for more banks and statement formats.
• Adding debit card support alongside credit cards.
• Introducing family sharing so multiple users can consolidate and view statements together.
• More powerful insights and visualization features.

Built With

Share this project:

Updates