Inspiration
Have you ever bought coffee for the office, only for your coworkers to never fully pay you back? Or maybe you covered a group bill and felt the awkwardness of asking everyone for their share? That experience is incredibly common and frustrating. Only about 27% of people fully repay informal debts, and over 50% of people have experienced damaged relationships due to unpaid money. What starts as a small favor can quickly turn into tension, miscommunication, or even lost friendships.
We want to change that...
Instead of relying on memory, trust, or awkward reminders, we built LedgerShredder, a mobile app that introduces clarity and accountability from the moment a transaction happens. LedgerShredder was created to turn everyday expenses into shared, agreed-upon records so people don’t have to chase each other down or risk relationships over money.
What it does
LedgerShredder allows users to create ledgers (essentially, shared agreements) with individuals or groups, after a transaction happens. Instead of manually calculating who owes what, users have the option to simply scan a receipt. We used Gemini API to extract information and split the total, allowing users to assign portions to individuals in a group. Once finalized, a shared ledger is sent out where everyone can view and confirm what they owe and every participant agrees to the terms, creating clear accountability. From there, users receive reminders, and optional autopay can be enabled with specific contacts to ensure payments are completed which eliminates the awkwardness of it all. Each agreement is anchored to the blockchain, making it a verifiable, immutable record that cannot be altered or disputed once confirmed. Users are able to forgive each other for debts, and if they choose to, the person who is forgiven receives a token. A token is an acknowledgement of a debt being cleared; tokens are immutable and listed on the blockchain like a memory shared between two people.
Is LedgerShredder for me?
If you regularly spend money with others whether it’s family, coworkers, roommates, or friends, then LedgerShredder is built for you. From groceries with roommates to drinks with coworkers or group trips with friends, shared expenses can quickly become messy and awkward. Keeping track of who owes what isn’t always simple, and small amounts can easily be forgotten. LedgerShredder removes that stress by turning any shared expense into a clear, agreed-upon ledger. This is especially useful in group situations where friends owe each other money, and everything can be cancelled out with one quick and easy transaction. The autopay feature is also great; you can select autopay for certain friends so that mental load is cleared.
Challenges we ran into
Initially, we were torn between a few ideas. After many hours of going back and forth, our team decided to settle on our original idea, and we are so glad we did!
On the backend, this was our team's first time learning about Blockchain and XRPL. Figuring out how ledgers and transactions worked within our application took us some time. Shoutout to the Ripple engineers, Emma and Caleb, for showing resources we can utilize in order to get started.
On the frontend, we utilized flutter since it made sense to make LedgerShredder as a mobile-first app. Since our team was more familiar with React frontend development, we had to choose a less comfortable path for the sake of the best version of our project. We made the call to use FlutterFlow to achieve that.
Accomplishments
We're just proud to have made it through with utilizing Blockchain for the first time. Going from complete blockchain beginners to creating a working, successful mobile app with XRPL acting as its core engine is a huge win. We took a massive risk stepping out of our comfort zones, and we are incredibly proud of the polished product we walked away with. We thought of many ways to distinguish ourselves from similar Fintech applications, and we think our core features embodied that pretty well.
Tech Stack
Database: MongoDB Atlas
Backend: Flask (Python)
Frontend: Flutter (Dart)
Deployment/VM: Fly.io
Blockchain: XRPL
Crypto/Payment: XRP
Transcription of Receipts: Gemini API
What we learned
Blockchain, XRPL, Configuring Gemini API parameters to parse receipts, Designing a debt-routing algorithm to eliminate redundant group transactions, and Flutterflow to create our frontend with Dart
Features for the future of LedgerShredder
NFC setting to tap phones to send a ledger for convenience
"Forgiving" a debt earns users a token which they share as a memory with their friend
Badges/Achievements to gamify the application (e.g. 5 tokens given gives the Generous badge)
Disputing a requesting that was accidentally accepted
Zero proofs
Conclusion
Overall, our team had a great time at HackKU! Thank you to all of the sponsors, judges, and mentors for aiding us in this process. We're so proud of LedgerShredder and are so grateful that we were able to present it here.


Log in or sign up for Devpost to join the conversation.