Azwaja - Mariage App

Hamza Imran

Database Engineer
Mobile Engineer
Flutter Developer
Firebase
Flutter
Supabase

Azwaja

Islamic marriage brokering

azwaja.app
azwaja.app

About App

Meet Azwaja, a thoughtfully designed matrimonial platform tailored specifically for the Muslim community, where meaningful connections are fostered with cultural sensitivity and respect. The app offers a distinct experience for both male and female users, featuring gender-specific interfaces and carefully curated interaction protocols that align with Islamic values. Premium members enjoy enhanced features like detailed profile analytics and expanded messaging capabilities, while the robust matching system ensures meaningful connections through comprehensive profiles that go beyond the surface. With built-in support systems, secure verification processes, and privacy controls, Azwaja creates a safe and trustworthy space for Muslims to find their life partners. Whether users are ready to begin their journey to marriage or exploring potential matches, this platform provides the perfect blend of modern technology and traditional values.

Screenshots

Azwaja.app
Azwaja.app

Challenges faced

Building Azwaja came with its fair share of headaches, especially when creating different experiences for users men and women. We initially tried maintaining separate UI components, but that quickly became a maintenance nightmare. Eventually, we cracked it by building a flexible theme system that adapts everything from colors to feature access based on the user's gender - much cleaner and easier to maintain.

Then came the matching system which was dependent on the user being subscribed and then accordingly giving them a counter(the number of requests they can send in a month). Using Revenuecat webhooks we were able to maintain a record of who was subscribed and who wasn't at any particular time, even if they canceled their subscriptions we would be informed about it. We didn't keep a record of the counter but rather queried the db about the matching requests sent/accepted. This way we didn't have to worry about resetting the counter each month for every user, giving us a robust and efficient system.

Security is a first-class citizen in our development phase without security we don't deploy any apps, and this Azwaja wasn't any different. We used RLS to secure our database and any service that required using third-party APIs we kept those on our server away from the front end, such as Twilio. To prevent spam we added phone verification, though it was only for verification hence couldn't use Supabase phone authentication. We had to come up with our system of securing the user's data and preventing spam.

Links

Partner With Hamza
View Services

More Projects by Hamza