Rental Property Manager
Links
Project Description
A rental property management app for my family's rental houses in Tunisia. The family can manage the houses and the rentals, and agents can browse houses, and check availability.
Why
Every year my father would manually draw a calendar and keep track of everything in a singular notebook that lived at our house. So basically nobody other than my father (who's very forgetful to begin with) and the notebook, knew which houses were rented and when and by whom and whether money was paid.
This caused a lot of headaches. Agents would call my father while he was at work asking about availability, prices, anything. Since the notebook was at home he couldn't answer, so he'd call me or anyone at the house, and sometimes nobody was home. We lost rentals because of it. Agents asking me which houses are available and me having no fucking clue. Renters asking any part of the family and nobody knowing. All because of that damn notebook.
So I sat down and decided an app to fix it. Now me, my family, and the agents we work with can always know at any time which houses are rented and which aren't and any additional info needed. Only admins (family) can make changes, agents can just open the app and look, and if they have actual renters they can call to confirm.
Offline access was important because sometimes people call you at any time and you don't always have internet, so it needed to still work offline.
The App
The app was born in the summer of 2025. Initially it was really simple with a lot of hardcoded elements, but it did its job. This year I did a full pass and added a lot:
- Images and prices to houses
- Tasks associated with each house (cleaning, repairs, purchases)
- A full CI/CD workflow
- Push notifications
- Houses are now fully configurable from settings (images, name, price, etc), nothing is hardcoded anymore
- Proper JWT auth, before the admin password was literally hardcoded
- A QR code to easily share the app with a copy link option
- Tests
- Hundreds of bug fixes and improvements
The Update System
I didn't want to bother everybody every few days with "hey I updated the app, please delete the version you have and here's a new download link, download it and install it". It was getting old, and my family and especially the agents are not very technically inclined. Having to test everything each time as well to make sure nothing broke was getting tedious.
So I decided to set up a CI/CD workflow.

When I push to GitHub, everything is done automatically. We first run the tests to make sure they all pass, then we figure out the type of changes; If they're a JS only change, the app updates itself on the fly on next startup using Expo Updates, nobody has to do anything. If they're a native change that requires a full rebuild, the app detects that it's outdated on startup, shows a blocking screen with a button that takes you to the latest GitHub release to download the new version. Either way I can work on the app in my leisure, push to GitHub, and everything handles itself.
Tech
React Native with Expo, TypeScript, Supabase for the backend (PostgreSQL, Storage, Realtime, Edge Functions), custom JWT auth, and EAS for builds and updates.
Screenshots






