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.

Final Delivery – The PowerPotters of Cepheo Potion Production Platform

1. Introduction

Concept:
Imagine stepping into Professor Snape’s potion lab, where magic meets modern technology. At PowerPotters of Cepheo, we’ve reimagined potion production using IoT, AI, and automation to create a seamless, efficient, and intelligent system—perfectly blending the wizarding world with real-world innovation.

End-to-End Scenario:
The ur solution begins with a voice command or sensor data triggering a production order in Dynamics 365 Finance and Operations (D365FO). From there:

  • Approval workflows in a beautifully designed PowerApps interface ensure strict oversight.
  • IoT sensors monitor potion brewing in real time.
  • Power BI dashboards visualize live inventory, production orders, and trends, enabling better decision-making.
  • Legacy ASCII-based systems, like the ETON packaging machine,for integration with packaging systems

Every component works harmoniously to eliminate manual steps, increase efficiency, and enhance user experiences for potion masters and house-elves alike.

User Story:
Professor Snape manages a bustling potion lab where students brew elixirs daily. When a student initiates brewing:

  1. A voice command or sensor input creates a production order in D365FO.
  2. Snape reviews the potion request in the Alchemy Approval App, approving or rejecting it.
  3. Approved potions are tracked in real time on the Power BI dashboard, where Snape monitors ingredient usage, inventory, and production status.
  4. Students add ingredients, telling the cauldron which they use, and the cauldron IoT reports back the ingredient details to D365FO.

A plethora of support systems has been added as well to make the complete process of managing a laboratory simple and effective, such as:

  • Sharepoint and Teams messaging to the team of Elfs working the laboratory
  • AI-based input of masterdata into D365FO
  • Third-party solutions for ease of work
  • Impressive backend FO X++ actions.

This end-to-end process ensures a smooth, magical potion production workflow!

Important notice for our fabulous judges. We know you have a lot to read, so from here on, the blog post is split into each of your categories so that you can save time!

2. Fabric Fera Verto

Concept:
Fabric Fera Verto, or “Data Transformation,” is the magical core of our potion production analytics. Using Power BI and Dynamics 365 Finance and Operations (D365FO), we’ve built a seamless flow of data to empower potion masters with insights. By visualizing inventory, production orders, and potion trends, we’ve turned raw data into actionable magic.


Key Components:

  1. Dataflow from Dynamics 365 FO to Power BI:
    • Data from D365FO is extracted using an OAuth legacy connection, ensuring a secure and reliable pipeline.
    • Key information includes inventory levels, production orders, and ingredient usage.
  2. Power BI Dashboard:
    • Business Value: The dashboard is displayed in the alchemy lab, providing real-time insights into:
      • Inventory Levels: Tracks current stocks of potion ingredients and finished elixirs.
      • Recent Potions: Displays recently completed brews for trend analysis.
      • Active Production Orders:
        • Potion name, quantity, and approval status (e.g., “Pending Approval”).
        • Bill of Materials (BOM) visualization showing ingredients required for active orders.
    • Impact: Potion masters can manage resources effectively, reduce ingredient shortages, and plan future brews.
  3. Cloud-Powered Updates:
    • The Power BI report is published to the Power BI Cloud with scheduled updates, ensuring near real-time data for potion production insights.

Future Scalability with Fabric

The integration is designed to grow with the needs of the alchemy lab. As potion production increases, transitioning to Fabric tables would:

  • Improve Efficiency: Fabric provides a unified data source that ensures faster queries and streamlined data transformations, reducing latency.
  • Enable Real-Time Updates: Potion masters could make decisions instantly, whether adjusting production schedules or responding to ingredient shortages.
  • Support Increased Data Volume: As more IoT devices feed data into the system, Fabric’s robust infrastructure can handle higher data loads without compromising performance.

Why This Earns Fabric Fera Verto:

  1. Seamless Data Integration: The solution connects D365FO to Power BI, bridging transactional data with analytical insights.
  2. Real-Time Insights: The dashboard equips potion masters with live data for informed decision-making.
  3. Scalability: The system is designed to evolve, with future enhancements like Fabric enabling even more seamless updates.

3. Low-Code Charms

Concept:
Our low-code innovations ensure that the magic of potion production flows effortlessly across the lab. Using Power Automate and a responsive Canvas app, we’ve created intuitive workflows for approvals, notifications, and user interactions—eliminating manual effort and ensuring streamlined processes.


Key Components:

  1. Production Order Creation Flow:
    • Trigger: When a student initiates brewing (via voice or IoT sensor), a Power Automate flow creates a production order in D365FO.
    • Key Steps:
      • Retrieve potion details, including name, quantity, and requirements.
      • Generate the production order in D365FO, ensuring every potion has a structured workflow.
      • Update status fields to track progress through the brewing lifecycle.
  2. Approval Workflow in the Alchemy Approval App:
    • Canvas App: A beautifully designed app lets Professor Snape approve or reject potion requests with ease.
    • Features:
      • Dynamic scroll-inspired UI showing potion details, required ingredients, and inventory levels.
      • Options for approval or rejection, updating the production status in D365FO automatically.
    • Responsive Design: The app adapts to any screen size, allowing Snape to manage approvals from his lab or the Great Hall.
  3. Sponsor Badge Flows:
    • Integrated workflows automate badge-related actions:
      • Notifications to sponsors (via SMS or Teams) about potion status or ingredient shortages.
      • Updates to SharePoint lists for elf task management, ensuring no steps are missed in potion production.

Why This Earns Low-Code Charms:

  1. Automation First: Manual processes like potion approval and ingredient monitoring are replaced with automated workflows.
  2. User-Centric: The app and flows simplify approvals and provide clear, actionable information to users.
  3. Visual and Accessible: The responsive, Harry Potter-themed app adds both functionality and flair, making it easy for potion masters to manage brewing on the go.

4. Pro-Code Potions

Concept:
The true magic of our potion production system lies in the pro-code components, where custom Python scripts, X++ extensions, and hardware-level integrations make the impossible possible. By blending IoT, AI, and robust coding practices, we’ve created a solution that bridges the physical and digital realms with precision and scalability.


Key Components:

  1. Python for IoT and AI Integration:
    • IoT Sensor Management:
      • Python scripts like sensor_script.py process data from the ultrasonic level sensor, ensuring precise liquid measurement in potion cauldrons.
      • Real-time readings are transmitted to Power Automate, enabling immediate workflow adjustments.
    • Voice Recognition:
      • Using voice_script.py, the system leverages the OpenAI Whisper API to translate spoken potion names into actionable triggers.
      • This enables seamless, hands-free initiation of potion brewing.
    • Integration Orchestration:
      • integration_script.py ties sensor readings, voice inputs, and Power Automate flows together, ensuring that each step of the process aligns perfectly.
  2. X++ Extensions in Dynamics 365 FO:
    • Custom Extensions:
      • Example: AdCustGroup_Frm_Extension ensures tailored functionality for potion-specific processes like production orders and inventory updates.
      • Field extensions and event handlers provide flexibility for tracking potion-specific data in D365FO.
    • Business Logic:
      • Custom X++ code facilitates real-time updates to production orders, inventory tracking, and seamless integration with Power Automate.
  3. ESP32 Firmware Deployment:
    • Automated Deployment:
      • A GitHub Actions workflow automates the process of flashing firmware to the ESP32 microcontroller.
      • Key features include dependency installation (esptool), direct flashing via shell commands, and a self-hosted runner for stable deployments.
    • Hardware Integration:
      • The ESP32 monitors potion brewing equipment, sending real-time data to the cloud and triggering workflows when thresholds are met.

Why This Earns Pro-Code Potions:

  1. Hardware and Software Synergy: Python scripts and ESP32 firmware ensure seamless integration between IoT devices and workflows.
  2. Advanced Customization: X++ extensions tailor D365FO for potion production, enabling real-time updates and efficient inventory management.
  3. Efficiency and Reliability: Automated firmware deployments and modular script design make the system scalable and error-resistant.

5. Digital Transformation

Concept:
Our potion production platform is a shining example of digital transformation. By integrating IoT, AI, dashboards, and workflows, we’ve revolutionized potion brewing at Hogwarts, streamlining processes for students, potion masters, and house-elves alike. This transformation isn’t just magical—it’s impactful, reducing manual effort and enhancing collaboration while creating a more efficient and connected potion lab.


Key Components:

  1. IoT-Driven Automation:
    • Sensors: Ultrasonic level sensors continuously monitor potion cauldrons, sending precise measurements to Power Automate for real-time adjustments.
    • Voice Commands: AI-powered voice recognition eliminates manual input, enabling potion masters to initiate production hands-free.
  2. Workflows and Approvals:
    • Power Automate orchestrates end-to-end processes, from potion initiation to approvals and inventory management.
    • The Alchemy Approval App ensures oversight with an intuitive interface for reviewing and approving potion requests.
  3. Real-Time Data Visibility:
    • The Power BI dashboard provides live updates on:
      • Inventory levels for ingredients and potions.
      • Production status, including Snape’s approvals and BOM requirements.
    • This visibility empowers potion masters to make informed decisions, reducing bottlenecks and ensuring resource availability.
  4. Legacy System Integration:
    • The ETON packaging machine, reliant on ASCII files, is seamlessly integrated into the workflow using automated file generation.
    • This modernization reduces manual input, ensuring the machine operates in sync with modern systems.
  5. Accessibility for All Users:
    • House-Elf-Friendly SharePoint Lists: Tasks and potion requirements are published in a simple format, ensuring elves can manage their duties effectively with minimal digital training.

Why This Defines Digital Transformation:

  1. Efficiency: IoT and workflows automate repetitive tasks, saving time and eliminating human error.
  2. Collaboration: Students, Snape, and house-elves are all connected through the platform, ensuring transparency and teamwork.
  3. Enhanced Decision-Making: Real-time dashboards and AI-driven insights provide actionable information for smarter, faster decisions.
  4. Legacy Modernization: Integrating old systems like ETON showcases how digital transformation can bridge the gap between the past and the future.

6. ALM Magic

Concept:
True magic lies in the details, and for Team PowerPotters, Application Lifecycle Management (ALM) has been the wand that brings order to the chaos of customization. From naming conventions to robust deployment practices, we’ve built a foundation of clarity, consistency, and scalability that ensures our solution runs as smoothly as a perfectly brewed Felix Felicis.


Key Components:

  1. Naming Standards:
    • Consistent naming conventions across all artifacts make customizations easy to identify and manage.
    • Examples:
      • AdCustGroup_Frm_Extension: Form extension for custom potion-related workflows.
      • AdCustGroup_Frm_dsCustGroup_Extension: Datasource extension to enhance potion data tracking.
      • AdCustGroup_Frm_EventHandler: Event handler for custom logic tied to potion production orders.
    These standards ensure every artifact is self-explanatory, reducing the effort required for onboarding or debugging.
  2. Error Handling and Logging:
    • Python scripts include robust try...except blocks with detailed logging, enabling traceability and quick resolution of issues.
    • Example: In sensor_script.py, logs capture real-time sensor readings and flag anomalies, ensuring the potion brewing process remains uninterrupted.
    • Similarly, X++ code in D365FO includes structured error handling to protect data integrity during custom operations like inventory updates.
  3. CI/CD Deployment Cycle:
    • Azure DevOps Pipelines:
      • Pre-build pipelines prepare the build server, ensuring all dependencies are available before starting.
      • Express builds validate core functionality, while full builds ensure a complete release package.
    • Webhooks for Notifications:
      • Successful deployments trigger webhooks to notify the team via Teams, ensuring everyone stays informed.
    • GitHub Actions for IoT:
      • ESP32 firmware deployment is automated using GitHub Actions, streamlining hardware updates and maintaining consistency.
  4. Mocking for Testability:
    • The inclusion of mock modules (e.g., GPIO mock) enables rigorous testing of hardware-dependent Python scripts without requiring physical devices. This ensures stability before deployment.

Why This Earns ALM Magic:

  1. Clarity: Naming standards and modularity make the codebase easy to understand and extend.
  2. Reliability: Error handling and logging practices ensure stability and quick debugging.
  3. Efficiency: CI/CD pipelines and automated firmware updates minimize manual intervention while maintaining quality.
  4. Future-Proofing: Mocking and deployment practices enhance scalability and adaptability.

7. Magic Matrix

Concept:
The Magic Matrix represents the interconnected web of systems, tools, and platforms that make our potion production platform a seamless, unified experience. By integrating Dynamics 365, Power BI, IoT, Teams, and SharePoint, we’ve created a cohesive solution where every component works in harmony to ensure efficiency, transparency, and collaboration.


Key Connections:

  1. Dynamics 365 Finance and Operations (D365FO):
    • Central Hub: D365FO serves as the backbone, handling production orders, inventory management, and BOM tracking.
    • Custom Extensions: X++ code enhances functionality, ensuring potion-specific processes like ingredient monitoring and approval workflows are perfectly aligned.
  2. Power BI Dashboards:
    • Data Visualization: Directly connected to D365FO, Power BI provides real-time insights into production statuses, inventory levels, and potion trends.
    • Cloud Integration: Published to Power BI Cloud, the dashboards are accessible across devices and updated regularly to keep potion masters informed.
  3. IoT Devices:
    • ESP32 Sensor Integration: Sensors monitor potion cauldrons in real-time, feeding data into Power Automate for precise workflow adjustments.
    • Firmware Automation: GitHub Actions workflows ensure ESP32 firmware is always up to date, enabling reliable data collection.
  4. Power Platform:
    • Power Automate: Acts as the orchestrator, connecting IoT inputs, D365FO workflows, and approval processes.
    • Canvas App: The Alchemy Approval App integrates directly with D365FO, allowing Professor Snape to review and manage potion requests in a user-friendly interface.
  5. Teams and SharePoint:
    • Notifications via Teams: Webhooks notify team members when a new production order is approved or when a deployment is completed.
    • Elf-Friendly SharePoint Lists: Simple lists provide house-elves with clear instructions for managing ingredients and potion schedules, ensuring accessibility.

Why This Earns Magic Matrix:

  1. Unified Ecosystem: By connecting tools like D365FO, Power BI, IoT, and SharePoint, we’ve created a fully integrated platform.
  2. Cross-System Collaboration: Teams and SharePoint ensure seamless communication and task management across all users.
  3. Legacy Modernization: Integrating the ASCII-reliant ETON machine demonstrates our ability to bridge old and new technologies.
  4. Real-Time Data Flow: Connections between IoT devices, D365FO, and Power BI enable informed, real-time decision-making.

8. A Magical Farewell: Mischief Managed!

As the final chapter of our journey at ACDC 2025 closes, Team PowerPotters would like to extend a heartfelt “Thank you” to the organizers, judges, and fellow participants who’ve made this hackathon an unforgettable experience. Like a well-brewed Polyjuice Potion, this competition has shown us how a perfect blend of creativity, teamwork, and technical prowess can create magic!

The Dark Ledger: From Creation to Completion — A Tale of Dark Deeds, Technology, and Magic

Welcome to the Dark Ledger, a thrilling journey where cutting-edge technology and dark magic collide to execute the most daring missions. This blog post will take you through every step of our process—from receiving a new Order of Doom to verifying the completed deed. Every moment is fueled by Microsoft Cloud technologies, modern AI, and a sprinkle of wizardry. Here’s how we make it all work.


1. Someone to Kill: The Order of Doom is Born

It all starts with the Order of Doom: a request for someone to be handled. When the call comes in, a new Order of Doom is created in Dataverse, the heart of all things dark. This record contains all the details of the task—who needs to be dealt with, the reward, and all the necessary instructions to carry out the mission. And thus, the hunt begins. ⚡💀


2. Dark Ledger is Found: The Heart of the Operation

Once the Order of Doom is in motion, the Dark Ledger is activated. The Dark Ledger Power Page and App is the villain’s tool for managing and tracking every kill. With this app, you can access key stats, view the leaderboard, check success rates, and analyze order distribution. It’s a real-time system that keeps the death eaters connected to their missions—whether they’re on desktop, tablet, or mobile. 📲💻


3. Registering and Logging In: Accessing the Dark Ledger’s Secrets

To dive into the Dark Ledger, death eaters need to register and log in securely using Azure Entra Id. Only those with the necessary credentials can access the tasks and the interactive map, allowing them to view their target and plan accordingly. 🔑🖤


4. Check Graphs and Data: Visualizing the Dark Stats

Before heading out on the mission, it’s essential to check the KPIs, graphs, and data available in the Dark Ledger‘s dashboard. This includes success rates, order distribution, and top-ranking villains. The Model-Driven App visualizes these metrics to ensure that the mission fits into the larger picture of operational efficiency. 📊📈

For more info check: https://acdc.blog/the-team-who-must-not-be-named/dash-it-out-crafting-enchanting-dashboards/


5. Order Kill: The Assignment is Created

Once the death eater is ready, the Order of Doom details are finalized in Dataverse. A Power Automate flow is triggered, registering the new task and setting up notifications for the death eater. The order is ready for approval, with the villain prepared for action. 📝💀


6. Admin of the Dark Ledger Approves: The Green Light for the Kill

Before anything goes forward, the admin must approve the order. This is done through an approval flow in Teams, where the service principal verifies that the kill is legitimate and aligned with the Dark Ledger’s policies. Once approved, a notification is sent to the death eater to start the job. ✋✔️

For more info check here: https://acdc.blog/the-team-who-must-not-be-named/oneflow-sponsor-badge-a-wizards-journey/


7. Assigning a Death Eater: The Right Hand for the Job

The admin then assigns the death eater to carry out the task. Using the Dark Ledger Power App, the villain is notified of the target’s details and the reward. They’re now equipped to carry out the mission and head to their target’s location. 🖤🎯


8. Contracts with OneFlow Signing Procedure: The Dark Pact

Every death eater must make a pact before carrying out the mission. Using OneFlow, a contract is created, detailing the terms of the job. The death eater and the requester digitally sign this contract using OneFlow’s API, binding them to the dark task. Once signed, the task is officially underway. ✍️🖤


9. When Signed, Updates Status of the Kill Order

Once the contract is signed, Power Automate triggers an update to the Order of Doom in Dataverse, changing its status to “Confirmed”. The requester is notified that the death eater is officially bound to the task. 📜✅


10. Death Eater Starts the Job: The Hunt Begins

Now that everything is confirmed, the death eater sets out on the mission. The journey is tracked in real-time using our interactive map, which visualizes the location of the target, the death eater, and the reward for the task. 🚶‍♂️🔮


11. The Death Eater Gets Notification and Checks Out the Dark Ledger Power App

Once the death eater begins the task, they receive real-time notifications from the Dark Ledger Power App. The app keeps them updated with information about the target, location, and the reward. They can check on progress and make sure everything is on track to complete the mission. 💬📲


12. Target Tracking in Real Time: Never Miss a Beat

As the death eater tracks their target, the interactive map continuously updates in real-time. With Google Maps API, we can track both the death eater and the target‘s location, ensuring that every move is accounted for. The app is responsive across all devices, ensuring the death eater can follow the mission no matter where they are. 🗺️📍

For more info check this: https://acdc.blog/the-team-who-must-not-be-named/interactive-map-bringing-dark-ledgers-magic-to-life/


13. Kill Confirmed When the Deed is Done: The Dark Magic is Complete

Once the kill is carried out, the death eater confirms the completion of the task by submitting photographic proof of the deed. This photo is sent to Azure Face API for verification. The face recognition AI ensures that the photo matches the target’s reference image stored in Dataverse, ensuring the job is done with accuracy. 📸💀


14. Face Recognition to Verify: AI Steps In

We’ve integrated Azure Face API to verify the completed task with precision. The AI analyzes the uploaded photo’s facial features and compares them to the pre-stored reference image. Using Azure Open AI, it calculates a similarity score based on facial landmarks, ensuring the kill is accurately verified. 🧠🖼️


15. Verified: The Dark Deed Is Complete

Once the AI gives the green light, the kill is confirmed, and the death eater receives a final confirmation in the app. The deed is complete, and the Dark Ledger is updated to reflect the kill. The villain earns their place in the Dark Ledger’s history, ready for their next mission. 🖤🎉


16. Survey: Customer Feedback with a Dark Twist

After an “Order of Doom” is completed, an integrated Customer Voice survey is sent to the requester, gathering satisfaction feedback. Once the survey is completed, the results are automatically recorded in the timeline within the Model Driven App, providing valuable insights and ensuring that every mission is completed to the highest standards. 📊💀


This adds a cus

TECHNICAL BITS

1. Integration of Tools and Tech Stack

While the main flow is covered, let’s dive a bit deeper into the technologies that power the Dark Ledger. The entire solution integrates React, TypeScript, and SCSS for the front end. We use GitHub Actions for CI/CD to automate the deployment process to Azure Web Apps. This ensures smooth updates and minimizes manual work. Our Azure Blob Storage solution stores location data used in the interactive map, reducing strain on the backend while keeping the system highly fluid and responsive. 🖥️💾

2. Visualizing Success with Dashboards

The Dark Ledger features interactive dashboards integrated within Model-Driven Apps and PowerPages, offering insights into the business value of each mission. We use DAX for creating and managing metrics like the leaderboard and order distribution—all of this is displayed in real-time, helping villains track their performance. 📈⚖️

3. Privacy and Compliance with Azure

We also prioritize privacy and compliance by implementing delegated deployments and approval workflows using Azure Active Directory and Service Principal. This ensures we adhere to best practices for security and maintain a transparent and secure deployment process, keeping our environments protected at every stage of the process. 🔐📑

4. Use of Azure Blob Storage and Streaming for Location Data

Our use of Azure Blob Storage for storing and streaming location data plays a crucial role in ensuring the interactive map provides accurate, real-time updates. With polling and Azure REST API, we keep the map dynamic and fresh, while reducing the server load and ensuring the system runs smoothly. 🗺️💾

5. Resco’s Power Platform Components: Elevating Customization

Resco’s PowerApps Component Framework (PCF) brings dynamic tools to the Power Platform for enhanced interactivity and customization. Key components like the Kanban Board, Date Range Picker, and File Upload allow users to manage tasks, select date ranges, and upload documents seamlessly.

These components help create tailored, efficient solutions, boosting usability and business efficiency on both mobile and web platforms. 🌟

Check it out here: https://acdc.blog/the-team-who-must-not-be-named/introducing-rescos-power-platform-components/

6. ALM – Streamlining Deployments with Best Practices

Upgraded ALM Strategy

We’ve revamped our ALM process for better governance and security. With delegated deployment using Service Principal (SPN), we ensure that all deployments are approved through automated approval workflows triggered in Microsoft Teams. This guarantees compliance, transparency, and real-time tracking for every step of the deployment.

Solution Strategy and Naming Convention

Our solution strategy follows a standardized naming convention:

  • Solutions with security automations that don’t have dependencies for deletion are kept in their own solution for fast, independent deployments.
  • The Base solution contains interdependent elements like tables, choices, apps, site maps, and dashboards—ensuring everything works in harmony within the same solution.

Error Handling and Communication

If a deployment fails, we immediately alert the team via adaptive cards in the ALM channel. Once successful, release notes are automatically sent to the Release Notes channel, informing the end users of the latest updates.


This streamlined approach to ALM ensures a secure, compliant, and efficient deployment process, with optimized solutions for different environments. 💻🛠️


Everything Tied Together: A Dark Symphony of Tech and Magic

From interactive maps to Azure Face API, every piece of the puzzle is powered by Microsoft Cloud technologies. We’ve seamlessly integrated Power Automate, OneFlow, Teams, and Azure Face API to create a solution that’s not only darkly efficient but also beautifully automated. Each step is optimized to ensure maximum performance and precision.

The Dark Ledger ensures that every mission is executed to perfection, from the creation of the Order of Doom to the final verification of the kill. With AI-powered face recognition, real-time tracking, and interactive maps, we bring the most dark and thrilling stories to life, powered by modern cloud technology and a sprinkle of magic. 🧙‍♂️🌑

OwlExpress365 – How we improved your Wizard Onboarding

Intro

The wizarding world is safe once again. He Who Must Not be Named has finally been defeated, and the taint of dark wizardry is gone once again. But the threat remains. How can the wizarding world nurture the next generation of wizarding talent, to prevent the rise of the next dark wizard, while also offering a top-notch onboarding experience for students of all backgrounds – wizard or muggle born alike? An improved Wizarding Onboarding eXperience (WOX) is essential to ensure wizarding schools keeps attracting the world’s finest wizards and witches.  

Introducing OwlExpress365, an innovative new digital solution from House Elves Limited, designed to assist wizarding schools across the globe to identify, nurture and onboard new students. Infusing the latest innovations from a low-code and artificial intelligence standpoint, our end-to-end solution is designed to benefit everyone involved as part of onboarding new wizards to your wizarding school – from initial identification, through to invitation and collating all required information to ensure students are ready and enthused to start at your school. Deliver an exceptional experience to your teachers, students and parents, whilst ensuring necessary compliance against dark magic regulations and ministry requirements for each new student. Contact our friendly House Elf developers today to find out more! 

Use Case

Providing a great WOX for all students is at the cornerstone of our solution. We have created a seamless onboarding solution, reducing the time taken to submit a successful application, integrating with contract solutions and improving wizard satisfaction for students, all the while looking out for the next generation of Death Eaters.

Solution Overview

Students and Guardians

That initial owl is a key cornerstone to the historic new student onboarding, but we have improved the initial notifications, taking into account weather notifications and location to reduce the impact on an owls health. This has been done by integrating with Link Mobility, where we send an SMS with the invitation letter. This invitation now includes a link to register on our new and improved portal, https://owlexpress.app. Once registered, students can update their profile, provide information, and interact with our own knowledgeable chatbot, “Ask Hermione”, driven by a Copilot Studio agent.

Once the student has accepted their invitation, and the professors at the school have checked their submitted documentation, we get a signed agreement from their guardian. This allows all important agreement relating to the risky business of educating a wizard is concluded, and the parents / guardians also agree to pre-requisites such as book and equipment lists. Through this, the school can device that the wizard’s family is receiving adequate support and kept in the loop.

The entire solution is driven by a Power Platform base, supplemented by first party and third party solutions. This showcases the effectiveness of a low-code platform for any business solution.

Professors and Administators

Teachers are using a custom made Model Driven App, based on the first part Dynamics Customer Service. Tailored to closely align with the application process, prospective students are first segmented from the raw data received from various external sources, historical events recorded within the CRM system or information added by the professors or administrators.

Once the segment is created, prospective students and their application is created. The data source contains various characteristics for the students, such as charismatic, plant lover, bold that will augment the student profile. If one of these characteristics could align the student to the dark arts, we have an approval process. Only once all heads of hourse agree that the student will not pose a risk to the school will their application be able to continue. This process automation removes the communication and miscommunication that can allow the dark lords servants to flourish.

An application will have various documents that are required to be assessed, evidence of magical ability and approval contracts. These can be easily uploaded using the Resco PCF, allowing multiple files to be added at once.

The Application process has a central business process, which steps through the onboarding process. Once the process moves to communication, an Owl or SMS triggered to invite the prospective student to apply and provide further information. This is all handled with Power Automate and LINKMobility.

The professor will assign a house, and once checking all the documents the process is moved to Confirmation, where a contract is sent to the students guardians. This is all automated, with IP confirmed signatures to ensure full transparency and governance of the process

Overall, our ERD is below

Fabric Fera Verto

Analytics is at the cornerstone of our solution, as only through effective analytics can we address several requirements most common to wizarding schools and protect the future of our schools. This includes:

  • The ability to visually “slice and dice” student information, to create segments for upcoming student cohorts without the admins doing the segmentation needing a deep understanding of the data model.
  • Support for flexible data ingestion sources, that can be tailored for each organisation. For example, different muggle citizen data API’s for each country.
  • Ability to access and view data “on the go”, as teachers apparate between classrooms

Power Query dataflows provide a scalable and effective means of consuming data from a variety of sources, such as flat file and publicly available APIs. This is a key benefit of our solution, as each wizarding school will have different ingestion sources that need to be accommodated. For this first school the following datasources were integrated from various sources using Power Query. All these have been brought into one semantic datamodel and used to enrich each other:

  • Postal Adress data from UK postal service
  • Student Dataset from “SnitchsOps” school
  • SharePoint lists from muggle schools for student data
  • Dataverse student for alumni students

Data is then surfaced within a Power BI report, embedded in the Professors Application management Model Driven App, consolidating all information into an easily accessible experience:

The report has a couple of visual slicers and filters and display the “Potential Students” in the right hand side. This way the users always see the result of the filters in realtime:

The same information can then be viewed on a mobile device with relative ease:

For the user experience we are utilizing the extensibility of Power BI besides the Fabric data integration capabilities. Using Power BI Embedded we extended the Power BI report showing the data of the semantic model with a custom action “Export Segment”. This way the user can use the visual filters and slicers of the report while seeing the live result of these. As soon as they are satisfied, they can use the “Export Segment” actions to copy the students within the filters to the Segment within the Model Driven App. This triggers the Application process will be automatically started for each of these students.

Fabric Troubles

Unfortunately, we were not able to fully maximise our usage of Fabric, due to issues starting the Fabric trial:

Assuming this issue was overcome, we had planned to further use Fabric by implementing the following:

  • Fabric pipelines to handle the data ingestion to and from Microsoft Dataverse
  • Implement a lakehouse for staging all data, rather then using a dataflow gen 1 and semantic model.
  • Implement “big data” processing for all historical wizarding school data, to generate more useful analytics via machine learning prediction. For example, can we predict the level of support a new student would need, based on their parentage, characteristics and location?

Low-code Charms

Power Platform extensibility lends itself nicely to OwlExpress, and how we can facilitate our end-to-end process. The process starts with the embedded Power BI Segmentation report in the OwlExpress365 Model Driven App. The users can segment on external data import to Microsoft Fabric within Power BI with great usability and without the knowledge of the data model in the back:

Power Fx is used within the custom page, and as part of button that assesses a young wizard’ss previous actions, to then categorise accordingly. AI prompts are used to evaluate potentially semi-complex sentences and grade them accordingly, as a mechanism to identify potential dark wizards

Throughout our model-driven application, users have ready access to a business process flow, that helps to easily guide them to the next step, as well as providing a nice “at a glance” view for any student application:

Although requiring pro-code capability to initially implement, the various PCF controls acquired by third party vendors, such as Resco, provides an effective way for low-code developers to extend out their applications for ease. For example, Resco’s file upload control provides an easy to support more complex upload operations that are not available natively. Low-code developers would struggle to build something similar, but with available PCF controls, this becomes a breeze to configure:

Pro-code Potions

We created different potions to empower our solution.

We have the student’s portal as a Netlify static website integrated with Dataverse.

Two PCF components were created by our team for this challenge:

  • Padfoots PowerBI Putter which allowing us to create the segmentation is using the PowerBI Embedded and the PowerBI extensions to read the selected data and post that to the PCF output properties.
  • MaraudersMap which is using Azure SignalR to track everyone and push their presence in the map. It is also using the microphone to listen to your charms and reveal its secrets.

The serverless Azure SignalR service was implemented using dotnet Azure Functions.

In addition, we also authored some Dataverse plug-ins that did something unusual – triggering business logic based on the Associate message, a scenario that the team was unfamiliar with. Further details can be found on this blog post here.

Student Portal / Frontend

For the students we didn’t use a Power Platform component because of licensing, the potential students don’t have user licenses and cost wise it wouldn’t be cost-effective. For that reason we created a custom frontend built with the Astro framework, https://owlexpress.app

The following tech stack was used:

  • Astro Framework
  • Base Framework for static web apps
  • TailwindCSS
    • CSS compiler
  • Daisy UI
    • TailwindCSS component library
  • Azure B2C
    • User authentication with social media or local accounts
  • Dhino
    • Integration with Dataverse with authenticated external users, connecting with Azure B2C

Available login options in Azure B2C

Students receive an invite code via mail from Dataverse if their application reaches the stage “Communication”. The invite code is generated via plugin and stored in relation to the Student record. It also generates a login link (example: https://owlexpress.app/login?code=C0NIQWP28F ) for the student which will do the following when clicked:

  • Direct student to the Azure B2C login page
  • After successful login a Dataverse Custom API is called and links the Azure B2C Entra Object Id with the student record who is linked to the provided invite code.

dhino utilizes Azure API Management and Azure Functions for connecting with Dataverse and authenticating against Azure B2C. This is used to read the student profile from Dataverse and the student profile provides a form for the student to update data and provide additional data. The frontend is fully responsive:

Padfoot’s Power BI Putter

This PCF solves a couple of technical challenges.

First is embedding the PowerBI report in the PCF component. We started from the Microsoft react based example, but we had to overcome some complications.

The embedded PowerBI was extended using the PowerBI JavaScript API’s to include a command in one of our visuals that would allow us to export the segmented data.

Certainly, the Test-Driven Development approach helped us shorten the delivery cycle with this component as we didn’t have prior experience with those APIs and we got to use the time earned to go through the documentation and achieve success.

Authenticating the user using Microsoft Entra ID needed a little bit of trial and error to be able to overcome all the Power Platform limitations.

Marauder’s Map

Tracking where users are is the most important feature of this component. To achieve this, it is using the Azure SignalR Service so that each user can share their location. This information is being shown on an actual map that has the information hidden and can be opened and closed using voice commands.

Azure SignalR Service

Even though the authors have a lot of experience with SignalR, the Azure SignalR Service was something not yet explored. As expected, there were a lot of peculiarities to the service that required a lot of documentation reading (going through the same pages more than once).

The Microsoft sample projects were really useful to quick start the development.

Digital Transformation

Dynamics 365 Customer Service forms a cornerstone of our solution, as several of its functionality areas lends itself nicely to our scenario:

  • Using Knowledge Articles both as an internal resource and a knowledge source in our “Ask Hermoine” chatbot:
  • Taking the existing Case table and retooling it as our “Applications” table, complete with field customisations and a new Business Process Fow. Adapting this table saved considerable amount of time compared to creating it from scratch, including the ability to tailor features such as the Case ID to suit our scenarios.

Without these capabilities, it would have taken us significantly longer to build out our solution.

ALM Magic

We achieve ALM primarily via two mechanisms:

  • For our single Dataverse solution, Owl Express 365, we use Power Platform Pipelines to handle the movement across all environments. In addition, we have incorporated a flow approval process to ensure that a dedicated release manager always approves new releases before they are deployed to any environment and also enabled Git integration, to ensure changes are exported out to our Azure Repos Git repository (see next point)
  • For all other components including (but not limited to) third-party solutions, PCF controls and any form of custom code, we use an Azure Repos Git repository to host all resources. YAML pipelines are used to automatic import of key assets into all required environments:

ALM can only be truly achieved when all aspects can be documented fully, to ensure that everyone in the organisation is familiar with the discrete processes. Our ALM document, linked below, goes into fuller detail regarding what has been implemented:

To further develop what we have from an ALM perspective, we would plan to fully implement the Configuration Migration Tool (CMT) to handle the movement of important configuration data between our environments. This would be fully incorporated within our Git repository and then executed automatically via Azure Pipelines.

Magic Matrix

By tapping into some of the other features and services across the Microsoft 365 stack, our solution drives further value from existing investments. In particular, we can point the following key features in the OwlExpress product:

  • Mail-enabled queues in Microsoft Dataverse, that integrates with an Exchange Online mailbox to support the sending / receiving of emails

Integration into Microsoft Teams, for modern flow approvals and for our “Ask Hermoine” chatbot, which has been built using Copilot Studio.

Using SharePoint as a potential staging site for wizarding schools’ bespoke data, that would then be ingested into Fabric:

Wizarding schools using our solution can be confident of the many avenues that are open to integrate across the entire Microsoft 365 stack, and to afford opportunities to further maximise existing investments.

Sharing is Caring: Claiming the Community Champion Badge

In the magical world, a wizard or witch’s hat and wig are essential items. They symbolize not only their identity but also their power and status. It’s no wonder that many are reluctant to share these prized possessions. However, the team who must not be named is setting a shining example for others by embracing the philosophy that sharing is caring.

This team goes out of their way to help and encourage other teams, earning them the prestigious Community Champion badge. Their willingness to share their hat and wig has made a significant impact, allowing other teams to visualize their teamwork and solutions more effectively.

Teams like SnitchOps, The team who must be named, and others have benefited from borrowing our equipment. This spirit of collaboration and generosity fosters a stronger, more united community. By sharing our resources, we not only help others succeed but also create an environment where everyone can thrive.

So, let’s follow the lead of the team who must not be named and remember that sharing truly is caring. Together, we can achieve great things and continue to support each other in our magical endeavors.

Final Delivery – Itera Power Potters

Hermione’s Beaded Bag

Canvas App and AI Builder
Hermione’s beaded bag can hold unlimited amounts of ingredients, spells and potions, as well as a myriad of other handy things. With the Hermiones Beaded Bag Canvas App the students can take a picture of an ingredient and it will automatically detect what kind of ingredient it is, identify it from the ingredient list, and add it to the student ingredient inventory.

3D Map of Hogwarts
Students at Hogwarts walk around the school to collect ingredients to make potions throughout the year. With a school this size it’s hard to keep track of where they have been and where ingredients pop up, but luckily for them, they can navigate virtually through the 3D model of the building straight from the app.

Potion Matching Agent
Once they have collected an ingredient, its added to their ingredient inventory in the Beaded Bag, and they can start making potions. To explore the craft of potion making they can enlist the help from the magical potion match making agent who can tell them what potions they can make with the ingredients they already have, but also what ingredients they are missing to make potions they need.


The agent help the students to manage their inventory for them, and once they have all the ingredients they need to make potion the agent adds that to their potion inventory. This agent is available to the students through the Hermione’s Beaded Bag app, but also through the Diagon Alley website. There are rumors that Dumbledore himself has even added it to his own personal teams chat.

Collect, get points, graduate and get a diploma
As the students evolve, collect ingredients and make potions, they get points based on the level of difficulty. These points are a crusial part of the points neede to level up in their Owls levels as well! This is a neat way for the professors and headmaster Dumbledore himself to keep track of the students progress. When students reach a certain level, a diploma is automatically created and will be signed by Dumbledore himself. Pure magic. The students will receive an SMS that they have graduated to a new level, and they will get an email with the diploma, signed by Dumbledore and their professor.

Tracking progress
The professors keep an eye on the students progress, inventory and levels all the time, and they build reports in top of the data which they use to report to Dumbledore. This way they can help students who struggle, sort and filter students based on the type of potions they find, and maybe intersect before the students who are up to no good do any harm.

Business Value

The real world impact of our solution might not be obvious at first glance, but we work a lot with non-profit and volunteer driven companies. We know that there is a constant awareness with these companies to lower the efforts on administrative tasks and optimize the impact of every donated amount.

One of the administrative tasks that take a lot of time and effort is matching volunteers with activities. This is because finding the right activity fit for the right volunteer rely on a myriad of aspects; Certificates, Certifications, Courses, Competencies, Languages they speak and interest they have. If we can create an AI driven solution that is smart enough to look at all of these aspects and perspectives and automatically match volunteers with activities, we can get an incredible upturn in volunteer activities.

This solution can also be used by search and rescue. The app allow you to scan objects and move through buildings, and also have a way to track and view where you have been and what areas of a space that has been searched. This could potentially be life saving in a critical situation.

Low Code

We have used an object detection model to scan ingredients and add them to the bag.

The model is custom-built and trained on images we have captured ourselves of various objects around our premises.

We have mapped the images to different labels so the model can recognize the objects. These objects are matched with our ingredients in Dataverse.

We have created a canvas app where you can navigate to collect ingredients. Here you have the ability to use your phone camera to take whatever picture you like of an object that is recognized as an ingredient. The ingredient will be listed in a table just below your image.

We use the code

Filter(ObjectDetector1.GroupedResults, ObjectCount = 1)

to show which ingredient the AI model recognized. Now you can add the scanned ingredient to our inventory by adding a button with the code

With({
    firstIngredient:First(Filter(ObjectDetector1.GroupedResults, ObjectCount = 1)),
    firstIngredientName:First(Filter(ObjectDetector1.GroupedResults, ObjectCount = 1)).TagName
    },
Patch(
     'Ingredient Inventories',
     Defaults('Ingredient Inventories'),
     {
        'Ingredient Inventory (pp_ingredientinventory)':firstIngredientName,
        Ingredient:LookUp(Ingredients,'Ingredient (pp_ingredient)'=firstIngredientName),
        Quantity:firstIngredient.ObjectCount
        }
)
)

In the inventory you can see all of your collected ingredients using the custom objective detection model.

Canvas app and AI builder for adding ingredients to inventory

Pro Code

3D geolocation mapping

By leveraging the web browser geolocation API inside a Canvas App PCF component, we were able to provide a 3D representation of the active users’ current location inside the venue.

We were able to find a simple volume model of the buildings on the map service Kommunekart 3D, but these data seem to be provided by Norkart, which is not freely available.

We decided to scrape the 3D model off of the site, by fetching all the resources that looked like binary 3D data. We found the data was in B3DM format and we found the buildings in one of these. We used Blender to clean up the model, by removing surrounding buildings and exporting it to glTF 3D file format, for use in a WebGL 3D context.

The representation of the 3D model, we decided to do with Three.js, which let us create an HTML canvas element inside the PCF component and using its WebGL context to render out the model in 3D. The canvas is continuously rendered using requestAnimationFrame under the hood, making it efficient in a browser context. The glTF model was loaded using a data URI, as a workaround for the web resource file format restrictions.

The coordinates from the user’s mobile device comes in as geographical coordinates, with longitude, latitude and altitude. The next step was to map these values relative to a known coordinate in the building, which we chose to be the main entrance. By using the main entrance geographical coordinates, we could then convert that to cartesian coordinates, with X, Y and Z, do the same to the realtime coordinates from the user, and subtract the origin, to get the offset in meters. The conversion from geographic to geocentric coordinates were done like so:

// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
export type CartesianCoordinates = { x: number; y: number; z: number };

// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
export type GeographicCoordinates = { lat: number; lon: number; alt: number };

// Conversion factor from degrees to radians
const DEG_TO_RAD = Math.PI / 180;

// Constants for WGS84 Ellipsoid
const WGS84_A = 6378137.0; // Semi-major axis in meters
const WGS84_E2 = 0.00669437999014; // Square of eccentricity

// Function to convert geographic coordinates (lat, lon, alt) to ECEF (x, y, z)
export function geographicToECEF(coords: GeographicCoordinates): { x: number; y: number; z: number } {
	// Convert degrees to radians
	const latRad = coords.lat * DEG_TO_RAD;
	const lonRad = coords.lon * DEG_TO_RAD;

	// Calculate the radius of curvature in the prime vertical
	const N = WGS84_A / Math.sqrt(1 - WGS84_E2 * Math.sin(latRad) * Math.sin(latRad));

	// ECEF coordinates
	const x = (N + coords.alt) * Math.cos(latRad) * Math.cos(lonRad);
	const y = (N + coords.alt) * Math.cos(latRad) * Math.sin(lonRad);
	const z = (N * (1 - WGS84_E2) + coords.alt) * Math.sin(latRad);

	return { x, y, z };
}

This gave us fairly good precision, but not without the expected inaccuracy caused by being indoors.

In our solution the current position is then represented by an icon moving around the 3D model based on the current GPS data from the device.

To connect this representation to realtime data from all the currently active users, we decided to set up an Azure SignalR Service, with an accompanying Azure Storage and Azure Function App for the backend. With this setup, we could use the @microsoft/azure package inside the PCF component, receiving connection, disconnection and location update message broadcast from all other users.

Canvas App XR

To further enhance the connection between the app and the real world, we also explored the possibilities of implementing XR as part of the user experience. Using augmented reality, we could let users interactively gather ingredients, but the OOB MR components in the Canvas App does provide the necessary interactivity, so we compared Babylon.js and AR.js (with Three.js/A-FRAME) to see if any of these third party libraries would be suitable for custom PCF components. Based on early POC’s we concluded that without access to the device’s low level XR features (ARCore for Android and ARKit for iOS), we decided these

Magic Matrix

Every time you add an ingredient to your inventory you will automatically get more point that count towards the Owls level you are at. Showing the professors you are progressing. When you have reach a specified threshold you will get to a new level, and you will automatically receive a diploma and be notified by email and SMS.

Flow 1:

  • A trigger is set on the inventory row – if a row is added or if the quantity column is updated.
  • Then we compose a calculation of which level the wizard has achieved based on the potions it has made. And the quantity of the potions.
  • We update the wizards level – and make a HTTP Patch Request to the Graph Api and update the user in Entra with the level.

Flow 2

  • When the level row for the wizard/user gets modified – we check which level it is, and then start the process for sending the diploma – which is described under:

OneFlow has allowed us to create diplomas for wizards who graduate from our potions and spells program. Whenever a wizard or witch has reached the highest level, they will get a diploma signed by Dumbledore himself.

The diploma is created in Word and exported as a PDF.

We uploaded it to oneflow and created it as a contract to be signed.

We enabled the API for Power Automate Flow

Setting up the Power Automate flow to create a contact with oneflow, add a participant and then publish the contact. Then we create a new row in the Diploma custom table in Dataverse where we connect the contract to the wizard (contact).

We receive an email with the confirmation that we have received the diploma.

And the link takes us to the document

Link Mobility

Setting up the connection reference is easy

Then we add the action to send an SMS to the wizard to notify them that they have graduated!

Triggering the flow will send an SMS with the link to view the diploma!

Digital Transformation

Asking copilot agent what potions you can make with the ingredients your find, and add it to your potion inventory.

You can use your potions – or you can choose to sell it to the highest bidder. Business Central is keeping track of your inventory and allows you to sell your items through a Power Pages site.

All this magic is delivered by Copilot Studio Agents.

Creating the Agent

The magical wizard who knows more about potions and spells and ingredients than Hermione Granger herself is actually a Copilot Agent.

Adding a public knowledge source

We created it with the Harry Potter Wiki as a knowledge source: https://harrypotter.fandom.com/wiki/List_of_potions

Connecting the agent to Dataverse as a knowledge source

In the setup we choose the tables that we want to make available as sources for the agent to draw data from.

Allow the Potions Matcher to create potions

The agent will be able to create new potions in your inventory in the beaded bag based on the ingredients you have. To allow for this the agent is granted permissions to create new rows in the Potion Inventory table on the users behalf

The end result being that the copilot agent is capable of doing magic on behalf of the students.

Business Central

The potential when connecting Business Central with Dataverse is incredible. We know that well fed students are happy students, and by allowing them to sell their potions on a website they will be able to earn some money while in school.

Fabric Fera Verto

Collecting all of this data is all good and well, and the different professors responsible for this solution needs to report on the students different levels to headmaster Dumbledore. To achieve this we send data to Fabric and create Power BI reports

We built a lakehouse to store all the data from Dataverse and the Harry Potter dataset. So that we could clean the data and also share the data with other professors that need the insight.

We use Dataflow Gen 2/Direct Query to always have the latest data for Dumbledore. And cleaned up the data in the process to easier make reports.

Used Power BI desktop to form relationships and to make the reports

Business Value
Reporting and keeping track of progress, activity levels, geographical differences as well as demographic differences within the volunteer group is incredibly important, and we know that the evolution of volunteer efforts in the global scope is changing. As we as humans change our ways and habits, our activities, loyalties (or lack there of) is also changing. Like all other enterprises, the volunteer programs around the world has to evolve with it. But what to do? What are the trends? What works and what doesn’t? It’s all there in the data, and with the right type of reporting and analytics we can get the crustal insights to evolve the programs with the rest of the world.

ALM Magic

We have set up power platform pipelines and have used solutions for all our components. Developing the datamodel first, using the new Plan Designer first to give us inspiration and doublechecking our way of thinking, and then building the data model from scratch to make sure we get the naming convention just right and follow best practices.

Business Value
The other aspects of our solution is not so exciting maybe, but we have made sure to follow development best practices by having security roles, environments and pipelines set up. We developed a naming convention and a solution strategy on day one and we have followed it. We have made sure that we create a solution that we are proud of to the point where we can show it to customers as-is – because that is exactly what we will do on a tech day event at Itera on February 6th. Wish us good luck 😀

Let the Power Potters harness this method to charm their way to flawless, fast-paced development! 🧙‍♂️

The pipeline:

Naming conventions

WhatConventionExample
ColumnsPascal casepp_PowerPotters
SolutionsCapital letter for each word, short and descriptive namePower Potter Potion Solution
Forms
Views

Adding copilot to agent and moving across environments

Of course, because we developed the datamodel in DEV, we could also easily develop and train the Copilot Agent in DEV and move it to production using solutions and Power Platform Pipelines, as well as the AI Models, and the Power Pages site

Entra ID Security Groups

We use Entra ID / Azure AD Security groups to control who has access to the different environments.

The security group is linked to the environment.

Welcome to the Future of Wizardry with Weasleys’ Wizarding Wonders App!

Welcome to Launch Day!

The Weasley twins are thrilled to unveil their latest magical innovation: ✨Weasley Wizarding Wonders App – your ultimate digital companion for surviving and thriving at Hogwarts! 🪄

This enchanting app brings the Weasley magic to your fingertips, offering exclusive access to their pranks, products, and more. The app ensures you have all the wizarding fun and mischief in one place. Magic is just a tap away! 🧙‍♂️🧙‍♀️

About the App

This magical platform brings together everything a Hogwarts student could ever need, all in one convenient place:

🎩 SortHat

Curious about your Hogwarts house? Let the SortHat reveal whether you belong to Gryffindor, Ravenclaw, Hufflepuff, or Slytherin!

🏆 HouseCup

Track house points in real time! Find out which house is in the lead and view details on who earned (or lost) points, and why, all thanks to those diligent professors.

🎭 Pranks

Unleash your inner mischief-maker! Shop for legendary prank supplies from Weasleys’ Wizard Wheezes, and team up with the PrankBot for sneaky, hilarious, and perfectly timed pranks—whether it’s for friends, rivals, or even a professor (if you’re brave enough).

💡 HogHacks

Discover insider tips from fellow students on how to make the most of your seven magical years. Plus, ask Hermione-bot anything—from homework help to navigating tricky calendar changes.

🦉 OwlChat

Say goodbye to parchment and quills! This modernized owl-post system lets you message classmates and professors directly within Teams (feature coming soon).

Time-Turning

Stay on top of your schedule with a magical calendar that keeps track of your classes, Quidditch matches, and other activities. Feeling adventurous? Use the time-turning feature to glimpse how your calendar—and life—might shift!

The Magic Behind the Curtain 🖥️✨

Our enchanted digital platform was brought to life using a mix of cutting-edge (and magical) technologies:

  • Power Apps: The backbone of our app, enabling us to create a seamless and interactive experience for every Hogwarts student.
  • PCF Components: Adding custom functionality and extending the app’s magic beyond its default capabilities.
  • Power BI: Keeping track of house points and other data in real-time with beautifully visualized insights (because even magic needs analytics!).
  • SharePoint: The repository for all Hogwarts resources—secure, organized, and magically accessible (yes, we have a “valid” reason why).
  • Copilot Studio: Providing advanced AI-powered assistance, including the brilliant Hermione-bot, making sure every student thrives in their magical journey.

And let’s not forget our enchanting Figma designs, skillfully crafted by our talented designer! These designs were seamlessly brought to life in the Canvas App, delivering a polished yet delightfully playful and chaotic interface that perfectly captures the spirited essence of the Weasley twins. 🎨✨👨🏻‍🦰

Fabric Fera Verto

Datasource: SharePoint

The Weasley twins prefer not to spend too much on data storage, so we use SharePoint as a database despite its limitations. This cost-effective solution allows them to allocate resources to other priorities. (Besides, we’re quite used to this approach as consultants, since many companies opt for similar setups instead of using the slightly pricier option – Dataverse.)

We created multiple lists in SharePoint and combined them in one list creating one table for all the information we needed in order to create the report. SharePoint is functioning as the Professors portal where they are fulling in and updating the scores as they come. The Twins have gotten access to the site to make use of this data in the app. We exported this data to PowerBI, setting up Scheduled refresh on the Semantic model to ensure updated data at alle times.

House scores play a crucial role in students’ daily experiences throughout the year. To streamline this process, we digitized the scores, making it easier for students to track which house has the highest score and understand the reasons behind it. Teachers continuously award and deduct points, so it’s essential for students to stay updated on the latest scores.

Additionally, we created some example-data in different excel tables, where we further utilize OneLake to store the data, and creating one semantic model in PowerBI including these.  Considering we did not use external data in our reports we decided that OneLake was not functional in our solution.

This was in the testing stage, and we decided to not use the same model and report going forward – as we went in a different direction with the app.But decided to include it in the final report to demonstrate it.

PowerBI

We created a interactive Dashboard that visualizes the data of the House Cup. We wanted to show how the points are divided between the houses, visualizing for example that Gryffindor is not in fact favored by Dumbledore.

Embedding to the canvas app: Dashboards

The dashboards were divided into two in order to make the display mobile friendly – as this was not a built-in function in canvas app. We added a PowerBI-tile – and as magic goes, it was interactive.

It may look like Dumbledore actually favors Hufflepuff…

Low-Code Charms

Power BI

Power BI is explained above this section in the Fabric Fera Verto section.

Power Apps

🎩 SortHat

The Sorting Hat greets students warmly and selects a house based on the user’s profile. To make the experience enjoyable, it uses a fun GIF, the name of the student and a picture of the houses logo.

🏆 HouseCup

The House cup is a significant event for the students as it recognizes the house that has accumulated the most points through academic achievements, good behavior, and performance in various school activities. Therefore the Weasley brothers’ thought it would be helpful for the students to have page in the app to keep track of the different housing scores. This triggers the competitive instinct and encourages them to make an extra effort and work harder in order to win the house cup at the end-of-year feast at Hogwarts School of Witchcraft and Wizardry.

🎭 Pranks

A gallery in Power Apps displays all products, complete with detailed information and pricing. This ‘Pranks’ section is based on a SharePoint list with the columns/attributes “Title” (product name), “Description”, “Price Tag” (in the currency Galleons) and “Supply” (current stock). These values are then retrieved in the Power App by adding the SharePoint list as a data source and used in the gallery alongside photos to display each item/product.

Ideally, with more time, the Weasley brothers’ would not have their shop inventory in a SharePoint list. But it is a small business and they just started their online shop journey. Also, they are saving on license costs by using what they already have. In the future, they might further develop the application architecture to better support scaling and security as the business expands.

The Copilot Bot is trained to provide comprehensive product knowledge and recommend the perfect item for any prank the user inquires about (more about this in the section: Digital Transformation under Intelligent Automation).

💡 HogHacks

A collection of tips from all students, along with a Hermione Bot that can answer any questions about the Harry Potter universe. The bot is trained on multiple Harry Potter wikis to provide comprehensive and accurate information.

🦉 OwlChat

This feature is still under development but will soon be connected to teams so that the students can chat with each other on teams.

(The prank scheduler they’re discussing is available for purchase in the prank store)

Time-Turning

The Time-Turner is a gallery connected to the SharePoint “Database” (hehe) that displays the schedule. Many students have overlapping lectures, so they need to use the Time-Turner to attend them all. This magical device turns back time, shakes, and displays an alternative schedule for each student, giving them full control over their day (Harry would have liked to have this in his third year at Hogwarts).

Power Automate and Copilot Studio

We have also utilized Power Automate and Copilot Studio, as detailed in the Digital Transformation section under Intelligent Automation, found below in this blog post.

Pro-Code Potions

The Weasley Wizarding Wonders app is a perfect example of how pro-code and low-code solutions can work together seamlessly. By implementing the PowerApps Component Framework (PCF) Gallery, we were able to infuse Fred and George Weasley’s mischievous energy into the app. Instead of reinventing the wheel, we took advantage of one of the strong suits of Microsoft; utilizing an open source library and the great publishers/developers that share their coded solutions. So we picked out two playful components that gives the user feedback on interacting with buttons in the application. The security is important when implementing open source components. So before the components where downloaded and implemented as managed solutions the code and dependencies were reviewed. We have a blogpost describing this if you want to know more and see some pictures and videos:

Bringing Weasley Twins’ Magic into Power Apps: Utilizing PCF Components from PCF Gallery | Arctic Cloud Developer Challenge Submissions

We initially planned to implement the Network View PCF component from the PCF Gallery, published by Scott Durow, to visualize the different housings and student relationships, as well as the distribution of students across housings. However, we decided against it due to the lack of necessary setup and configuration for our solution’s architecture. Additionally, we felt that the time required for implementation wasn’t justified compared to other tasks and features that would provide more value to the end user.

Digital Transformation: Doing More with Less While Delivering Magical Experiences ✨

In the magical world of Harry Potter, nothing is digital, but the Weasley Wizarding Wonders App brings the magic into the modern age in a spectacular way. By digitalizing students’ schedules, the twins’ store, house points, and communication, the app makes everything more accessible, organized, and efficient—transforming Hogwarts life into a seamless, tech-savvy experience.

The app is a prime example of how intelligent automation and digital transformation can revolutionize traditional processes while enhancing user experiences and driving business value. It modernizes key aspects of Hogwarts life, demonstrating how businesses can achieve more with fewer resources while still delivering exceptional outcomes.

One of the core transformations is the digitalization of the owl messaging system, replacing slow, manual letter deliveries with a streamlined, mobile-friendly OwlChat. This innovation ensures instant communication for students on their devices, making interactions faster, more reliable, and accessible anywhere. Likewise, the House Cup point system has been fully digitized, creating real-time transparency that not only boosts student excitement but also drives engagement and competition. These improvements address inefficiencies in traditional methods, delivering a better, more seamless experience for users.

The app also incorporates intelligent workflows, such as utilizing user credentials in a feedback flow. This enables students to provide feedback directly to the Weasley Twins, allowing them to continually improve the app and ensure it remains user-friendly and impactful over time. Additionally, the app features an in-app shopping cart where students can purchase their favorite prank products directly, making it simpler and more convenient to get their hands on the magical items they adore.

By transforming how Hogwarts students connect, communicate, and engage, the Weasley Wizarding Wonders App exemplifies how businesses can leverage digital tools to automate workflows, enhance customer experiences, and unlock new opportunities—all while doing more with less. 🪄✨

Intelligent automation

Automating tasks digitally brings new efficiency and convenience. This transformation streamlines communication, scheduling, and administrative tasks, allowing more focus on magical studies.

The Power Automate flow that collects feedback helps streamline the process, making everything more efficient and user-friendly. This flow is explained in this blog post.

What is considered hipster-worthy when everything is new? | Arctic Cloud Developer Challenge Submissions

The Hermione Bot automates answering questions from students about the Harry Potter universe, providing accurate information without needing Hermione to respond to each query individually. This efficiency allows her to focus on other important tasks and helps ensure that more students receive timely answers. Similarly, the PrankBot assists the Weasley twins by recommending products and answering customer questions from students, freeing them up to create more magical mischief and innovative products. This increased efficiency also allows them to sell more products, enhancing their business success. Read more about the chatbots here and you can se them in action under the sections HogHacks and Pranks:

Late night hunting for magical badges | Arctic Cloud Developer Challenge Submissions

ALM-magic

Application Lifecycle Management (ALM) in Power Platform is crucial for ensuring efficient, reliable, and scalable development and deployment of applications. It enhances collaboration between developers and citizen developers, improves app quality, and ensures compliance and security. Implementing ALM in our solution required a lot of research in advance: using Application Lifecycle Management on Microsoft Power Platform as our guide provided us with the tools, luckily.

Environments

We set up three different enivornments: DEV, TEST and PROD.

Given the ease of access and existing integration within Power Platform, we opted to set up pipelines directly in Power Platform. Previously, integrating Git with Power Platform solutions required using Azure DevOps pipelines, which involved a more complex setup and management process. However, with the recent introduction of native Git integration within Power Platform, users can now connect their Dataverse environments directly to Git repositories. This new feature simplifies the process, offering a streamlined experience for both developers and citizen developers. It enables faster setup, easier change tracking, and seamless collaboration, all within the familiar Power Platform interface.

In our solution we set up the DEV environment as unmanaged, and TEST and PROD as managed.

Environment variables

Environment variables is used in the solution, pointing to two different SharePoint sites: Dev for DEV and TEST and one for Production data that is used in the PROD environment. This is useful in managing the environment long-term, keeping track of all the data and not getting it mixed together.

Neat and tidy solution:

Deleting tests and getting rid of useless elements helps to make sure the managing of the solution is easier.

You can read more in-depth about connection references, service account and ALM measures we took in our solution in this blogpost: 

Crafting Excellence: Weasley Twins’ Development Best Practices | Arctic Cloud Developer Challenge Submissions

Team-process: from chaos to order

We arrived Thursday morning not having a specific plan set up on how to create our shared vision. Getting started therefore was a bit chaotic: trying to get ahead of all the elements to include in the solution, but without a actual plan of what was required to get there. We therefore needed to have a quick RETRO on Friday morning, looking back at the rooky mistakes we made, taking our experiences and evolving into more pro team-players. This included:

  • Developing a clear plan and shared vision
  • Prioritizing tasks: we had a lot of ideas of what we wanted to create, but narrowing it down and getting more specific was a important step to ensure having a finished product to present today
  • Having frequently stand-ups to clarify uncertainties in our group, getting a overview of the badges we had, which ones we needed to write and aspire to achieve, as well as setting the goals for our next stand-up.

ALM involves multiple stages, including planning, development, testing, deployment, and maintenance. Effective team coordination ensures that all team members are aligned and can collaborate efficiently, including resource- and time-management, clear communication and adaptability.

Magic Matrix – Solving a Real Business Problem with the Magic of Microsoft 365 🪄✨

Hogwarts students face significant challenges that disrupt their magical education.

  • Disorganization leaves them without a centralized system to manage lectures, activities, or navigate the castle.
  • Communication is stuck in the past, relying on slow, letter-carrying owls.
  • The House Cup, a cherished tradition, suffers from a lack of transparency, leaving students disengaged from the competition.

Using the magic of Microsoft 365, we’ve conjured an impactful, accessible, and enchanting digital platform to solve these problems. At the same time, the app is designed to inspire engagement, creativity, and a little bit of mischief—because, after all, you’re only 12 once, and Hogwarts should be as magical and fun as possible!

The Weasley Wizarding Wonders App creates a seamless and interactive experience that transforms how students navigate their school life. Features like the SortHat help students discover their house, while the Time-Turning Calendar ensures they can keep track of their schedules, explore alternate timelines, and never miss a class or Quidditch match. The House Cup Leaderboard adds transparency and excitement to the competition, allowing students to see in real time how points are awarded or deducted and which house is in the lead.

The app’s backbone is powered by SharePoint, acting as a magical repository that organizes everything in one place—lecture overviews, Hogwarts tips, and detailed point system logs, all accessible at a moment’s notice. Teams powers OwlChat, transforming traditional owl-based messaging into a modern, instant communication system while still retaining the whimsical touch that Hogwarts students love.

The Weasley Twins’ Smart Business Strategy

From the Weasley twins’ perspective, the business value of their setup is clear. By using a Power Apps gallery connected to a SharePoint list, they efficiently manage their inventory and display detailed product information, including pricing and stock levels. This cost-effective solution allows them to save on licensing costs and make the most of their existing resources, crucial for a business just starting its online journey.

Additionally, the PrankBot enhances customer engagement by providing comprehensive product knowledge and personalized prank recommendations. This not only boosts sales but also frees up the twins to focus on creating new, innovative products and mischief. As their business grows, they plan to further develop their application architecture to support scaling and security, ensuring long-term success.

Designing Magic A playful and chaotic experience

The design of the Weasley Wizarding Wonders App embraces a playful and chaotic style that captures the essence of the Weasley twins’ mischievous spirit. Bold, vibrant colors and dynamic patterns defy traditional design norms, creating a visually striking and energetic user interface. This approach brings the whimsical chaos of the twins’ magical world to life, ensuring that the app feels as magical as it is functional. From bright pops of color to unexpected design elements, the layout feels like stepping into the minds of Weasleys—exciting, unpredictable, and full of surprises.

Rather than adhering to conventional design structures, the app thrives on its unconventional and fun aesthetic, making it both memorable and engaging. This style appeals to students who are looking for something beyond the mundane, turning an ordinary educational tool into a delightful experience. The vibrant visuals bring energy and excitement to the navigation, making every interaction feel playful and whimsical—just like Hogwarts itself. See our design moodboard from Figma here:

Weasley Wizarding Wonders App | Arctic Cloud Developer Challenge Submissions

By blending these magical features with the capabilities of Microsoft 365 technologies, the Weasley Wizarding Wonders App ensures that Hogwarts students stay informed, connected, and enchanted. The platform not only solves real challenges but also enhances the magic of Hogwarts life, making school a place where every student can thrive academically, socially, and, of course, mischievously. 🧙‍♀️✨

I think we all agree that is has been a magical experience to be here.

TEAM Gryffindor!

Naive and happy on the day: Little did we know what we were in for..

See you next year!

Hacks to get past you guys!

So listen.. There’s a little confession we need to make.

Our algorithm for selecting animals based on your image when entering the mirror in fact isn’t as sophisticated as we have let you believe. It is still a good algorithm though! It did the job, right? It gave the same animal to one of you judges two times in a row, while mostly giving different animals to different judges. It did the work! I guess the customer doesn’t really care how it works as long as it does indeed work. If the outcome is good it doesn’t really matter if its a hacky solution or great code.

While our app lets you believe that it draws on characteristics of you to find a animal.. It is actually a RNG. A good RNG, the type of RNG that did what it was supposed to.

Sorry!

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.