About Diem

Household service provider in Canada, USA

Industry: Service Provider

Team Size 9 People
Project Manager | Developer | QA | Designer | Project Lead
Timeline100 Days

Diem Background

Our client, Diem, is a Canada-based entrepreneur. His business aims to simplify on-demand household services in Canada. A popular online local service provider that allows users to experience doorstep service.

A Canadian startup company approached us with the requirements to develop an on-demand household services app to facilitate services and make household services more accessible for people living in Canada and America. 

The application is a mobility solution for those who are providing home services, and consumers can schedule in-home care services such as electrician, plumber/technicians, gardener, air conditioner (AC) maintenance, painting and pest control service providers, packers, movers, rent a car, insurance service providers, etc. Professionals can register and apply for the service posted by the users using the app (iOS or Android). 

The features in both apps have been designed with the convenience of both professionals and users in mind.

The client got the on-demand mobile application developed for his business using the help of OnGraph Teams’ expertise in application development. Diem, today, is available as a full-fledged application on both App Store and Play Store for free to users.





Share Idea

Business Challenges

DIEM had a highly refined business concept among other on-demand mobile applications. That was the application's uniqueness and a challenge for our developers. The actual concern with the app was the required functionalities that are supposed to oscillate on both front ends. Below are the challenges we faced while developing a full-fledged mobile application to deal with on-demand services on both ends efficiently.

Maintain Functionalities Between Request, Quote, and Acceptance

DIEM was supposed to allow customers to summon the service providers by making the correct matches. Customers could also set their budget for the required service and other specifications. Though the facility was great for users, a complex structure was needed to maintain it in the backend.

Real-Time Availability Updates

Implementing real-time availability updates for service providers and integrating this information seamlessly into the app's scheduling system. This requires a robust backend infrastructure and effective communication between the app, service providers, and users.


Managing and scaling the system to accommodate fluctuations in user activity, especially during peak times or in different geographic locations. Ensuring that the app's infrastructure can scale horizontally to handle increased demand without compromising performance.

Keep A Tune With Payment Flow

Payment flow was highly tough to deal with. There were several payment stages in the business model for both users. For example, customers have to pay at the time of availing a service, but the payment to the professional's account will only be credited after the confirmation of satisfactory completion by the customer.


The Solution

Our team had hands-on experience in e-commerce business solutions. Therefore, we processed the development of DIEM for iOS and Android. We approached different parameters at different steps to achieve the desired outcome, such as:

amazon web services
Match-Matching Algorithm

We used a match-making algorithm to deal with the complexity of customer input, such as the type of requested service, the location of the service, pricing, specific preferences’, and ‘ratings’ and more. The algorithm makes a match by sending requests to the most optimum list of service providers.

Real-time Updates

To get real-time updates, we implemented.

  • Real-Time Database and Push Notifications

Implement a real-time database (e.g., Firebase) for instant data synchronization. Use push notifications to inform service providers about new requests and schedule changes instantly.

  • Geolocation and User-Friendly Interface

Integrate geolocation services to optimize routes and consider travel time. Design an intuitive interface for service providers to update their availability status easily.

Scalable solution

Consider the following solutions to address scalability challenges related to variable workloads and infrastructure optimization.

  • Load Balancing and Horizontal Scaling

Implement load balancing to distribute user requests across servers evenly. Design the system for horizontal scaling, allowing the addition of resources to handle fluctuations in user activity.

  • Auto-Scaling and Optimization

Set up auto-scaling mechanisms to dynamically adjust resources based on demand. Optimize infrastructure, code, and database queries for performance, utilizing caching and CDNs to enhance scalability.