Table of contents
This project is developed solely by Estee Tey. If you are keen on how the app idea came about, you can refer to the motivations section.
- Live progress on this project can be found in this #BuildInPublic tweet thread.
- For more in-depth details on planned & implemented features, you could refer to ROADMAP.md.
- UI Kittens for UI components
- Supabase for Database & Auth. Data is served by REST.
- React Native MMKV for caching
- Notifee for creating notifications
- Custom GitHub action for generating Supabase database types
If you are interested on some other tech notes how this app is built (e.g. how the app is bootstrapped, mockup etc), check out the tech notes.
Install the node modules & pods
npm i
npx pod-install # if you want to build for ios
Then run 1 of the commands
npm run ios
npm run android
You would need the Supabase project related environment variables as mentioned in .env.sample
. You can create your own Supabase project and replace those values.
There is a utility function on SyncService
for logging the user out, clearing all cache and notifications. Intended mostly for testing purposes.
const init = async () => {
// add this line for clearing cache temporarily
await SyncService.clearAllData();
await SyncService.syncAllData();
await registerDeviceForRemoteMessages();
};
I had built Billy intended for these few specific target audiences:
- Less tech-savvy users like my mom, who are only-mobile users, and prefer having specific apps for specific functionalities. They would benefit heavily from native notifications to keep track of their bills.
- Techies like me who are less organized, but has a ton of subscriptions to remember to manage and pay on time. Many times, I also don't want to automatically renew these subscriptions if I don't use them much during the trial period.
My mom & I both like cute stuff, so that's how Billy has its name.