Delivering the Final Solution: Our Arctic Cloud Developer Challenge Journey

The Arctic Cloud Developer Challenge has been an exhilarating ride, pushing our creativity and technical prowess to new heights. For our final solution, we created a Sorting Hat Quiz app together with a Physical Talking Hat, merging the best of the digital and physical worlds. In this blog post, we’ll break down how we approached the challenge and highlight how each category shaped the final product.

Inspired by the magic of the Harry Potter universe, we decided to build a Sorting Hat Quiz app that not only sorts users into their Hogwarts houses but also has a real-world interactive element. Student can choose how he would like to be sorted, digitally or physically.

Now, let’s see how our solution corresponds to each category:

Fabric Vera Verto

We have created a dashboard in PowerBI showing us deep magical insights and statistics about distribution of student’s answers.

Low-Code Charms

We have created the app using Power Pages

And all the data between the backend and Dataverse and is handled through flows.​Also the data between the Web app and Dataverse is handled through flows (Leveraging possibilities of Power Automate for sending the data | Arctic Cloud Developer Challenge Submissions)

Pro-Code Potions

  • The hat interface uses python to orchestrate TTS STT and backend communication.​
  • We use Terraform to deploy the entire backend, package the backend web app, and update the code.​
  • The backend code is java script that can handle multiple conversations at once.​
  • One backend to rule them all
  • We are also customizing the low code Web app with our pro code

following our journey, and we hope you feel as much magic in our solution as we do!

Digital transformation

  • By offloading the work from the old Sorting hat to the digital version it enables seamless logging and analytics.​
  • It enables multiple students to be sorted at the same time from all types of locations.​
  • We can pull statistics from the sorting giving an insight in the details of the sorting process

ALM Magic

  • Environment variables in bot​
  • Terraform automatically updates the backend to the newest code​
  • We have a sign in using phone number and username.​
  • The app is automatically deployed to Teams users that is in the tenant.​
  • We make pretty code​ 
  • The question pools are stored in Dataverse making it easy to manipulate the quiz

We are using ALM (CI/CD) pipeline and releases the CRM solution form development to , UAT and production environment’s

Magic Matrix

We are using the magic of Teams

Accessibility​: Backend is API compatible making it possible to integrate with anything​;
Speech to text with whisper, and text to speech with Eleven labs making it accessible as long as you can talk​

Privacy​: LLM does not train on user conversation​; Voice input is not stored

By leveraging the strengths of each category—Fabric Fera Verto, Low-Code Charms, Pro-Code Potions, Digital Transformation, ALM Magic, and the Magic Matrix—we were able to create a Sorting Hat Quiz app and a physical talking Sorting Hat that deliver a magical, interactive experience. Our solution pushed the boundaries of what’s possible, seamlessly blending digital and physical technologies to engage users in an unforgettable way.

We are incredibly proud of our final product, and we believe it not only meets the requirements of the Arctic Cloud Developer Challenge but also sets a new standard for how apps can bridge the gap between the virtual and physical worlds.

Grab everything you can get your hands on!

In our endeavor to create an immersive experience with the Sorting Hat, we have opted to use the Eleven labs to enrich the Hat’s voice, and personality. It can be grumpy at times, but you can trust it will make the correct placement into one of the houses.

The hat’s new and improved function also sends an SMS through our dearest sponsor platform Link Mobility, and notifies the student of the choice.

Our colleague’s dataset from Keggle with a lot of student data from previous years enriches our catalogue of students and makes our reports shine brighter.

Use Linkmobility to Notify Users

Linkmobility is a comprehensive communication platform that specializes in mobile messaging, offering everything from SMS, MMS, and email services to mobile payments and app integration. With its simple API and robust system, it’s an excellent tool for businesses looking to streamline communication with their users via SMS.

While email notifications are common, they aren’t always the fastest or most reliable form of communication. In contrast, SMS notifications ensure users receive immediate updates on their sorting status. With high open rates and guaranteed delivery, SMS is often the best choice for ensuring that important messages get to users quickly and efficiently.

Here’s how Linkmobility enhances the Sorting Hat experience:

  1. Instant Notifications
    Once a user’s sorting results are ready, Linkmobility ensures that they receive an SMS right away. No more waiting for an email or refreshing a webpage — users will get their sorting result directly on their mobile device, often within seconds.
  2. Personalized Messages
    Linkmobility allows for highly customizable SMS messages, meaning you can tailor the notifications to suit your branding and tone. From a simple “You’ve been sorted!” to a more detailed message like, “Congratulations! You’ve been sorted into Gryffindor. Prepare for a magical year ahead,” the possibilities are endless.
  3. Global Reach
    Whether your users are located in your local area or across the globe, Linkmobility ensures that SMS messages are sent reliably to virtually any destination. This global capability helps make your Sorting Hat software accessible to a wider audience without worrying about regional restrictions or delays.

To streamline this process, we turned to Power Automate, Microsoft’s versatile automation tool. By combining Power Automate with Linkmobility, we were able to create a seamless flow that automatically sends personalized SMS notifications to users once they’ve been sorted. Here’s a breakdown of how we achieved this.

Using Eleven Labs to Enrich the Data

In the world of artificial intelligence, there are many ways to collect, analyze, and enrich data to create more personalized and meaningful experiences. One of the most innovative—and perhaps magical—methods of enriching data is through the power of voice. Eleven Labs, an AI company known for its advanced voice generation and natural language processing (NLP) technology, has found a way to turn data into something much more than just numbers and text: it gives data a voice.

In this blog post, we’ll explore how Eleven Labs—an advanced AI-driven platform known for its voice generation technology and natural language processing—can be used to enrich the data. Traditionally, sorting systems rely on questionnaires or predefined attributes to make these decisions. However, with the power of Eleven Labs, we transformed this process into something far more engaging and dynamic.

Eleven Labs helped us to enrich the experience by receiving and analyzing data that we send and enrich it by giving us back voice. This technology helped us make the sorting process more engaging and enjoyable. For example, using realistic voiceovers to narrate the sorting ceremony or create unique dialogues for each person being sorted.

When we give data a voice, we aren’t just providing users with information; we’re engaging them in a conversation, offering insights with nuance and tone, and creating an experience that feels more human. Eleven Labs leverages voice synthesis and speech recognition technology to bring data to life.

Navigating the Age-Old Debate: The Retro Badge Controversy

In any community, the balance between tradition and innovation is delicate. The interplay between nostalgia and progress often sparks debate. Sooo let me tell you what happened recently. The controversial decision was made: old school quiz form was refused to get the retro badge:

Having in mind that the judges are seasoned and wise tech veterans, we decided to come up with something more retro! We’re all familiar with the power of nostalgia, but sometimes, it takes a little extra magic to prove that something truly embodies the spirit of the past. So have a look into our /too much retro/ client:

Using the Resco Tree View PCF Component in CRM

In this blog post, we’ll show you how we integrated the Resco Tree View PCF (PowerApps Component Framework) component into a Dynamics 365 environment to make enhancements to our Sorting Hat quiz.

Before diving in, let’s quickly break down what PCF (PowerApps Component Framework) is. PCF is a powerful framework that allows you to create custom components for use in Dynamics 365 and PowerApps applications. These components are highly interactive and are commonly used to enhance the UI and user experience.

Resco’s Tree View PCF component is one such component. It’s primarily used for displaying hierarchical data in a tree-like structure, but with some creativity, you can repurpose it to display quiz questions, choices, and results in a fun and engaging way.

We used this component to create data hierarchy in CRM where each record represents a node.

The piece of code that is implemented and allows us to have a parent-child hierarchy:

{
  "parents": [
    {
      "viewId": "9b98bd93-f813-42c7-be23-788b26b67c1e",
      "property": "adv_quizid",
      "parents": [
        {
          "viewId": "9b98bd93-f813-42c7-be23-788b26b67c1e",
          "property": "adv_quizid"
        }
      ]
    }
  ],
  "child": {
    "viewId": "1B9C4C57-29BC-48E6-994D-0C9B9A47A50D",
    "property": "adv_quizid",
    "child": {
      "viewId": "1B9C4C57-29BC-48E6-994D-0C9B9A47A50D",
      "property": "adv_quizid"
    }
  },
  "recursive": "adv_quizid"
}

The Nostalgic, Retro Look of Quizzes: A Trip Down Memory Lane

There’s something inherently nostalgic about the old-school online quizzes we used to take. You remember the ones—basic designs, pixelated images, and simple blue buttons for starting the quiz. These quizzes might seem outdated by today’s standards of sleek, interactive experiences, but there’s a unique charm to them. They evoke a sense of simpler times when the internet felt more like a fun mystery than an overwhelming flood of information.

There’s something instantly recognizable about those early online quiz interfaces. From the bright, bold colors to the blocky text, they had a distinct, almost childlike quality that made them feel personal and welcoming. These designs weren’t trying to be high-tech or glossy; they were focused on functionality and fun.

This simplicity might seem outdated today, but it holds a certain charm—especially when we remember that the point wasn’t to create a perfect digital experience; it was to create something fun, something to immerse you in a world of magic and possibilities.

Bellow you can see our sweet page for choosing how you want to be sorted:

Admit that you got blast from the past! So remember: sometimes, the most magical experiences don’t require cutting-edge technology—just a little imagination and a lot of heart.

Leveraging possibilities of Power Automate for sending the data

Power Pages is a powerful tool in the Microsoft Power Platform suite that allows you to create low-code, data-centric web pages. When combined with Power Automate, it can help streamline processes by automating workflows like transferring user registration data from a form in Power Pages to Dataverse. In this blog post, we’ll show you how we used Power Automate to send data from a user registration form in Power Pages to Dataverse.

Here is our registration form:

And then here comes the flow in Power Automate that sends the data to Dataverse (and returns values to Power Pages):

And after the magic happens, we can see the record here:

Creating Great-Looking Dashboards Using Azure Application Insights

When building applications that leverage AI technologies, monitoring performance is crucial for ensuring that the system operates smoothly. One powerful tool for this is Azure Application Insights, which allows us to collect, analyze, and visualize telemetry data in a way that provides both technical insights and an understanding of user interactions.

Azure Application Insights is an Application Performance Management (APM) service that helps you monitor your applications in real-time.

In this post, we’ll show how we used Azure Application Insights to create dashboards that track key metrics for our Sorting Hat, focusing on GPT prompt and response tokens, response times, user interactions, and language distribution. These insights can help us optimize the performance of our AI model, identify trends, and make data-driven decisions.

Let’s break down the key metrics that we are tracking:

  1. GPT Prompt & Response Tokens: The number of tokens used in GPT prompts and responses can have a significant impact on performance and cost.
  2. Average, Minimum, and Maximum Response Time: These metrics provide an overall view of how long the application takes to respond.
  3. Response Time Distribution: This helps us understand how response times vary across different requests.
  4. Response Time vs. Tokens: This allows us to correlate response time with the number of tokens used.
  5. Active User Chats: Monitoring how many users are actively chatting with the AI at any given moment helps gauge the engagement level.
  6. Language Distribution: When application supports multiple languages, this metric helps to track which languages are being used most often.
  7. Average, Minimum, Maximum and Standard Deviation response time in last 30 days: These metrics help ensure that the application performs optimally and allow us to identify any unusual behavior or potential bottlenecks.

Unlocking the Power of Low-Code Platforms with Pro-Code Customization

This blog post will walk you through how to leverage both low-code tools and traditional coding to build a fun and effective user registration system. With the help of Microsoft Power Pages and Power Automate, we created a low-code solution that seamlessly integrates pro-code customization for a personalized experience.

Let’s break down in short lines the user flow:
1. The participant will fill out a registration form on the Power Pages site.
2. Their answers to a series of questions will be stored.
3. The user will be automatically sorted into one of the Houses based on their responses.

In Power Automate, we created a flow that is triggered by form submission from Power Pages (when user presses Join button). Then we added pro-code customization that packs the data and sends it to Dataverse.