Background

I created Kareem to help me manage my busy university and work schedule while prioritizing what truly matters. I started building Kareem for myself, but after sharing it with others, I saw how it could help them too.

Initially, I was frustrated with another service, PrayerCal, because their geolocation and prayer times had discrepancies, which really bothered me since the whole point of the service was to get prayer times right. Discrepancies in time between 5-36 minutes.

Competitor vs Own Solution

Yellow: Competitor, Blue: PrayerCal

Competitor vs Own Solution

Yellow: Competitor, Blue: PrayerCal

Design

I designed Kareem with my target audience in mind, Green being a prominent color associated with the Islamic religion.

All of the following were first wireframed in Figma, then developed with the aforementioned tools.

I went for a simple design to ensure ease of use and quick access to essential features. The interface is clean and intuitive, allowing users to navigate through the app effortlessly.

Home Page Original

Original Home Page

App Page Original

Original App Page

Technical Challenges

Initially, I wanted this to be a one-click solution that would utilize Microsoft Azure's Graph API. However, this would require university-level security clearance and would have to be checked and reviewed by the University Technology Services (U.T.S). After back-and-forth communication, I thought that this project didn't necessitate the long process U.T.S would force upon me.

I then saw avenues of implementation in front of me: either to create the file and provide instructions for users to configure it to their chosen calendar service OR create a webcal. Since a webcal would involve maintaining a user base and additional configuration on my end, it was a tough decision. But I opted to get the job done and implement the solution I saw best suited given my timeline.

The following flowchart represents its current implementation (Implementation at the time, different now):

Flowchart of Kareem's Implementation

Flowchart of Kareem's Implementation

Technical Drawbacks

Implementing a webcal solution required maintaining a user base and ensuring the service's reliability. This added complexity and potential points of failure. Additionally, the need for continuous updates and support could become a significant time investment.

Conclusion

  1. Understanding the importance of user privacy and data security in application development.
  2. Balancing between ease of implementation and long-term maintenance requirements.
  3. The value of clear communication and setting realistic expectations with stakeholders.
  4. Adapting to constraints and finding alternative solutions when faced with bureaucratic hurdles.
  5. Designing with the user in mind to ensure a seamless and intuitive experience.
  6. Incorporating feedback to continuously improve the design and functionality of the application.