Go To Business Insights Case study: JAAQ

Case study: JAAQ

Business Insights

Case study: JAAQ

By: Tanja Komnenović
4 minute read
792 X 364 NEWS Casestudy JAAQ

The client:

JAAQ (Just Ask a Question): https://jaaq.org

JAAQ is an organisation focused on developing digital space for creating, consuming, educating and spreading information about a vast array of mental health and wellbeing topics. JAAQ is a free-to-use platform for everyone who wants to find out more about mental health and wellbeing from leading experts, celebrities, and people with lived experience.

The project:

JAAQ platform (Web, Mobile and CMS) and Conversation Platform.

Goal:

The goal was to develop an application suite that will enable JAAQ personnel and professionals to create various types of content and offer that content to end-users/platform visitors to consume. Content needs to be SEO and Open Graph friendly and the platform should be resilient and stable under peaks of large volume of concurrent user requests.

JAAQ suit consists of interrelated platforms: JAAQ member platform (CMS Back office), JAAQ web and mobile platform (web app for end users/visitors) and Conversation platform (a platform for creating and distributing simulations of conversations with experts on a chosen topic).

Technologies:

C# .NET, Hangfire, Python, Azure LUIS, Headless Umbraco, Publitio, GraphQL, Apollo, Docker, SQL, React.js, Next.js, HTML, CSS, and JavaScript.

Jaaq case study

Team:

First, we started with the development of the web application, and the team consisted of two front-end developers. As the client developed its business model and scope, the team grew and consisted of three back-end developers, a mobile developer, a DevOps engineer, Data Scientist, Technical Principal, and a Product Owner. The team grows organically to accommodate the client’s needs as we progress with the discovery phase and have a more defined scope.

The team had 18 dedicated people (front-end, back-end and mobile engineers, DevOps Engineers, QA Engineers, Data Scientists, Scrum Masters, and a Product Owner).

Solution:

During the development of the JAAQ application suite, we helped the client discover and scope features and functionalities according to their business needs and model. We were responsible for the full development lifecycle and were the only technical partner to the JAAQ client. We worked closely with clients and designers to create prototype functionalities and validated each of them in a timely manner during the development phase. Also we were fully responsible for designing the architecture and infrastructure from the scratch following the best practices.

When it comes to the Conversation platform, we have created a user-friendly back office application that will help JAAQ personnel to quickly and simply create, manage and distribute conversations by uploading all the necessary assets that one simulation of a conversation with a mental health professional requires to have.

Once a user inputs all the required assets into the system, the conversation is processed on one user`s click and in a few minutes. Users can then continue to customise and brand the conversation style (choose colours of elements and fonts and add logos) and finally distribute the whole solution to conversation purchasers. As such, it does not require any additional coding and configuration by end customers — it is enough to embed it in any external website or application.

JAAQ infrastructure hosts, processes and serves all distributed conversations recognizing the user's question and returns the best matched video answer to it. At the same time, Conversation Platform supplies JAAQ (internal) platform and external purchasers with the conversations on different mental health and wellbeing topics.

When it comes to security, we implemented a URL Referrer to prevent unauthorised usage by other external websites. For the internal communication of system parties we utilised and integrated Azure Service Bus to push ready conversations to CMS and publish it on the JAAQ platform.

Although we built most applications in JAAQ application suite from scratch except for the JAAQ member platform (Headless Umbraco site) we have additionally developed custom CMS features such as SEO capability for specific content type, developed the custom CMS user management, and built-in capability to upgrade user type from regular CMS member to custom user account type that can actively post new content outside of CMS (from custom web application - JAAQ platform).

CMS still represents the central point for clients personnel in the terms of creating and managing content and users and having full insight into and control over all the aspects of the JAAQ suite.

On the other hand the CMS had to communicate closely with other parts of JAAQ's suite services and applications ecosystem. So, we went beyond utilising CMS as a closed and self-sufficient content managing system and its out of box CMS features.

Result:

Our domain knowledge and technical experience helped us fully understand the vision and business needs and meet the client's requirements by implementing interconnected applications with defined sets of features, functionalities and flows. In terms of infrastructure, we have built a complex Azure infrastructure that integrates multiple services and databases. It is scalable under high-volume concurrent user requests (60 000 requests per hour) and heavy content fetching and loading of visual assets (images and video files).

The developed application suite will help the client and their users to create and publish different types of social media look-alike content (blog post, image(s), videos, poll posts, conversations) from three ends:

  • Directly from Umbraco Headless CMS
  • From the JAAQ platform if a user is authorised for content creation
  • From the Conversation platform

The client's personnel as Admins of the system will be able to create, monitor and manage all the content in the terms of giving approval, editing or removing some parts. They will also have insight into the centralised user management system.

On the other hand, end users will have the opportunity to consume all the published content in the JAAQ platform and take actions such as like, share and collect their favourite pieces of content.

Although the Conversation platform currently acts as a subsidiary and back-office type application that will help clients internally create and manage Conversations simulation and push them to the main JAAQ platform, it also has full capacity to become an independent SaaS that will further prolifer the client's business. This is why we took special approach in building features and flows and setting up a scalable infrastructure that can enable making:

  • Conversations for internal usage (building pushing and listening mechanisms via Azure Service Bus for supplying the main JAAQ platform with Conversations)
  • Conversations for external usage (building the standalone Conversation component that can be integrated in any external website or application)
  • Capacity for user`s tenants

If you want to find out more about this project - book a call.