During our time in the Philippines, my girlfriend and I were looking for a way to track our shared expenses and understand our spending habits. There are good expense tracking apps but none that allow you to invite a partner to track expenses together. This is how the idea for Reseet was born.
Working on this app also allowed me to dive deeper into React Native and building native apps using React, which is a framework I was already familiar with. The challenge at this point was rather to learn about Expo and the build and release process for iOS apps.
Besides the collaborative and multi-device features, there is another advantage of storing transactions in a database: We can schedule transactions. This is very useful for adding recurring expenses like rent, subscriptions, or salary payments.
Recurring transactions are implemented using Supabase Edge Functions which are triggered every minute. The function checks if there are any transactions that need to be added to the database and adds them if necessary. The scheduling of transactions stored in the database similar to how you would configure cron jobs on a server.