Owl Express – Application Lifecycle Magic

Howl to do ALM.

OwlExpress365 – ALM Manifest 

Development and Deployment Approach  

We do have some rules defined how development should happen and be planned in general, all around ALM (Application Lifecycle Management). There can be some differences for each product in terms of their complexity and circumstances. 

Technical and development-specific rules: 

  1. Solution and Components should all have the same publisher.  
    There should be only one Publisher for all Products that should be used across all components and solutions. 
     
  1. The technology approach and implementation are crucial for the scalability of the product and should be chosen wisely at the beginning of the project. 
    Deprecated functionality needs to be replaced as soon as possible and not even considered in the first place.  
     
  1. Every solution must be available as unmanaged in an own environment which is part of the tenant. Each solution should only have changed and newly developed components and no dependencies on non-product-related solutions.  
    The Environment must contain access for global Administrators and the Development Team.  
  1. Solution components must follow internal specific naming conventions. (e.g., icons: hel_*name of the icon’_icon.svg) 
  1. Solutions contain a changelog providing the latest changes and updates made to the solution  
  1. The solution is connected to a git repository. Changes are tracked automatically, while commits happen after crucial changes and before updates.  
    All commits must contain a speaking comment to provide context of recent changes.  

Deployment 

Our target is to continuously improve our deployment process with fewer manual steps. We distinguish today in three different processes of deployment: 

  • Code Component / Custom Control Deployment 
  • Solution Deployment  
  • Release Distribution 

Each of these processes comes with a different scope, restrictions, and requirements. But all of them should be based on the ALM (Application Lifecycle Management) Approach.  

Code Component / Custom Control Deployment 
Accessed by: Developers 
Purpose: Deploy changes to Dev
Functionality: Build the desired branch version of the code repository (e.g., Custom Control, JavaScript, Plugin, Application) and update the target dev environment with the selected version. 

Solution Deployment 
Accessed by: Maker, Developers, Product Owners 
Purpose: Build and deploy the desired Solution version to UAT And Production Environments 
Handled by: Power Platform Pipelines  
Functionality: Check-in changes in the Repository, Export the latest version from DEV Environment, Quality Check on Export (Solution Checker) , Build Solution via Build Environment (unmanaged), potential Automated Testing, Export Solution as managed, potential Quality Checks, Store Artifact as managed in Repository, Deploy managed Solution to QA / Test Environment  

(Example pot. Solution Deployment)  

Release Deployment 
Accessed by: Product Owner 
Purpose: Build and store release-candidate Solution version  
Handled by: Build and Power Platform Pipelines  
Functionality: Build Solution via Build Environment (unmanaged) / direct by code stored in repository, Automated Testing, Export Solution as managed, Quality Checks, Store Artifact as managed in Repository 
Long-Term: Build AppSource Update Package and deploy 

Automated deploying of solutions minimizes the risk of human errors during that precise process. Especially with a larger team and multiple versions and branches, we want to be more than sure that all the functionality, features, and fixes we brought into the product are part of the solution we deploy.  
It opens accessibility as well for Testers and QA’s who do not need to have a full understanding of the manual deploying process.  

Product Artifact 

The final artifact we produce at the end of each development and deployment cycle is not only the technical product but our idea of how to leverage all the different and innovative aspects of the Power Platform for our customers and their end-users.  
 

OwlExpress365 – Tech Stack & Environments 

Power Platform 
Environments 

  • HOST
    Owl Express Host Environment: https://owlhost.crm.dynamics.com/ 
  • DEV 
    Owl Express Dev: https://owlexpressdev.crm.dynamics.com/ 
  • UAT 
    Owl Express UAT: https://owlexpressuat.crm.dynamics.com/

All Environments are organized in the same Environment Group “Owl Express.” They are also managed and organized with Security Groups to organize access.  

With a security group and role-specific permissions as security roles, we have full control about  the access to each environment and don’t interfer with other environments on the tenant.   

Solution Concept 

We currently drive a single-solution approach for customizations and development, that includes all custom components and changes we perform on top of Dynamics and Power Platform. AI and Copilot development is not included here, there is a separate solution to enable deployments and development in parallel.  

All changes are tracked with the Git integration to Azure DevOps and pushed to the repository with major changes and deployments.  

https://dev.azure.com/owl-express/_git/Owl%20Express

Changes are deployed to separate Dev branch. Via Pull Request and additional review by at least one other person than the author, changes can be merged into the main branch for productive usage.  

Deployment  

All dev solutions are transported automatically from the dev environment as managed to the UAT and Production environment. With the Power Platform Pipelines, we can trigger a UAT only deployment or a full deployment, which covers UAT and Production.  

The pipeline is triggered from the Dev Environment. During the validation and publishing, we generate a new artifact in the Host environment and increase the version number. The final deployment happens through SPN, which requires additional approval (posting to Teams) for the production environment.  

The version number is set up to meet the following criteria: 

MajorVersion.MinorVersion.Date.NumberOfDeployments 

Release Notes are AI-generated while we maintain custom release note via Configuration Page, this provide functional context and technical details.

Further Solution Distribution 

The Power Platform Catalog is an additional source to distribute our solutions within the tenant. With each crucial change, the developers are publishing a new update to the catalog. The request will be verified and approved if all criteria are met.  

Afterwards the new update is available in the catalog for makers and low code developers.  

Dependent solution deployment 

OwlExpress uses some third-party solutions. These will be deployed as managed solutions to the different environments. The deployment happens via Azure DevOps Pipelines: 

After discussing internally between Azure DevOps Pipelines and GitHub Actions, we decided to stay centralized in Azure DevOps.  

The following third-party solutions are used: 

  • dhino 
    Purpose: Authentication of external users against Dataverse Data (OwlExpress app) 
  • Solutions 
    – dhino_API_Core_1_0_0_23_managed.zip 
    – dhino_Authenticate_1_0_0_27_managed.zip 
    – dhino_Fetch_Core_1_0_0_58_managed.zip 
    – dhino_Forms_Core_1_0_0_2_managed.zip 
  • PCF Tag Control 
    Purpose: Add Characteristics to a Student via a tag control on the form directly  

     
  • Solutions 
    – OPC.PowerApps.PCFControls.zip 
  • Resco PCF Control: File Uploader 
    Purpose: Used to attach Files to an Student Application  

  • Solutions
    – pcf-file-uploader-1.0.0.0.zip 

PCF Development 

PCFs are being created using a Test-Driven Development approach. We are also using cdsproj based solutions to simplify the build and deployment to the target environments. The cdsproj enables us to create the solution zip file easily and import that using the “pac cli” or the Power Platform Tools from Azure DevOps. 

The full source code is also stored in the used Azure DevOps Repo, to aim for a full centralized development surronding  

Frontend / Static Web Apps 

The frontend app “Owlexpress.app” is developed as a custom static web app using HTML / CSS / JSX. It is checked in to a GitHub repository with automated deployment triggers for the connected Netlify sites. Netlify was chosen because it offers the best support for static web apps when using them in a hybrid mode with server-side rendering which we need for the authentication part. 

Tech Stack 

  • Astro Framework 
    Base Framework for static web apps 
  • TailwindCSS 
    CSS compiler 
  • Daisy UI 
    TailwindCSS component library 
  • Dhino  
    ntegration with Dataverse with authenticated external users 

Environments 

  • DEV 
    Locally on machine 

Deployments 

Deployments are triggered by pull-requests on the main branch and are executed within the Netlify deployment system. This was chosen because Netlify supports all the server-side rendering capabilities needed for the authentication part of the static web app. All secrets are set up as environment variables to keep them outside the repository. 

Fabric / Power BI 

We maintain alignment with all Dataverse environments by having the following Power BI workspaces configured: 

All development activities are carried out within the DEV workspace. We then leverage Pipelines in Fabric to deploy changes into each downstream environment. This allows us granular control when deploying components and to view potential “diffs” between environments: 

AI and Copilot  

Copilot related components are structured in a separate solution to the already existing customizations. Components used across multiple agents are organized in solution-aware component collections.  

Because creating a new agent generates a various number of components, we decided to split. Also to potentially deliver our solutions without AI for different Regions. Europe, looking at you.  

As all components are part of the Power Platform solution that is on the Dev / Test and Production structure of the Power Platform we can use existing Power Platform Eco-System including Pipelines for the deployment and also publish the AI components to the Power Platform Catalog.  

SMS Reciept

You can now recieve a SMS reciept on delivery of your Howler message. Thanks to our Link Mobility integration

Just add sms to the post message to our api:
{
“sender”: “Bellatrix”,
“recipient”: “Sirius”,
“sentiment”: “Angry but polite”,
“subject”: “The end”,
“body”: “You’re definitely fired.”
“sms”: “+47[your number here]”
}

Magic Matrix category final article

SO as you know that yesterday we created a functionality that tracks the documents that has to be provided by students for onboarding. But now to streamline the onboarding process, we introduced four dedicated faculty sites:
🏛 Gryffindor
🏛 Hufflepuff
🏛 Ravenclaw
🏛 Slytherin

Each site acts as a collaborative space for students and teachers, where they can upload, share, and manage documents efficiently.

To fully automate the onboarding workflow, we use an Azure Function App that:
Invites students to their respective faculty site after completing a survey.
Provides a checklist for required documents (e.g., photos, transcripts).
Automatically verifies documents and tracks missing files.
Sends SMS notifications to students if required documents are missing.

The Business Logic Flow

The onboarding process is fully automated using Azure Durable Functions and SharePoint.

Step 1: Student Completes the Wayfinder Portal Survey

  • Once a student submits their faculty preference and personal details, a HTTP request is sent to an Azure Function with their data.
  • Based on the selected faculty, the function determines the corresponding SharePoint site.

Step 2: Azure Function Invites the Student

An HTTP-triggered Azure Function is responsible for processing the onboarding request.

Step 3: Orchestrator Function Handles Onboarding Workflow

The orchestrator function manages the entire student onboarding process.

  • The orchestrator first invites the student to their faculty site.
  • Then, it creates a checklist for tracking required documents.

Step 4: Student Invitation to SharePoint

The invitation activity sends an email invite with a faculty-specific SharePoint link.

Uses FacultySitesDictionary to find the correct SharePoint site:

·  Sends an invitation email with the SharePoint link.

Step 5: Checklist is Created for Document Upload

Each student receives a checklist for tracking the required onboarding documents.

📌 Add Student Checklist

Step 6: Automated Document Validation

An Azure Function runs on a schedule to validate student document submissions.

📌 Timer-Triggered Function

📲 This ensures students complete their onboarding without manual intervention.

Faculty Administrators’ Perspective

No manual student onboarding – Everything happens automatically.
Real-time checklist tracking – Admins see which students have missing documents.
Less communication overhead – Automated SMS reminders handle follow-ups.

Summary of Key Features

FeatureTechnology
Student invitationAzure Function (HTTP Trigger)
Faculty-specific SharePoint sitesSharePoint Online
Checklist trackingSharePoint Lists
Document verificationAzure Durable Function
Scheduled validationTimer-Triggered Function
SMS notificationsLinkMobility API

🚀 Conclusion

This fully automated system significantly improves faculty onboarding by:
Eliminating manual work for administrators.
Ensuring real-time checklist tracking for students.
Automatically notifying students about missing documents.

This scalable architecture using Azure Functions, SharePoint, and Durable Functions ensures smooth student onboarding with minimal effort.

Stay tuned for our next post, where we dive deeper into SharePoint automation! 🚀

Crawlerlicious!

One of the technologies that we were eager to learn more about during this year’s hackathon was Copilot Studio. An effective way of doing so was to train and embed our Copilot chatbot into our canvas app.

In order to get started we wanted to test the technology by creating a simple crawler. We used the https://www.arcticclouddeveloperchallenge.net/ web site for demo purposes, and allowed or chatbot to use generative AI for answers.

The setup as a whole was quick and easy, and it motivated us to investgate this further. For example, further develop the chatbot to also handle in-game questions in our Canvas App while also connecting it with topics related to our Dataverse database.

Below is a brief demo of the first crawler version that we created:

Ordinary Wizarding Level (O.W.L.s)

At the core of every wizard’s journey is the quest to explore their magical potential, refine their skills, and discover the path that best aligns with their unique abilities. To provide aspiring wizards with the guidance and feedback they need to succeed, we are developing a comprehensive system of tests to assess their proficiency in the magical arts.

Our aim is to create a series of engaging and challenging tests that evaluate various aspects of magical performance. From precision in flying to advanced problem-solving within magical constraints, these tests offer a well-rounded assessment of each student’s strengths. Tailored to reflect the critical skills needed in the magical world, the tests will immerse students in scenarios where their creativity and expertise are put to the test.

Upon completing the tests, each wizard-in-training will receive a detailed performance evaluation. Whether a student excels in potion-making or flying, they will gain valuable insights into the areas where their talents truly shine. These recommendations are designed to guide them toward a fulfilling and successful magical career.

This innovative grading and evaluation system is powered by cutting-edge technology. By harnessing these advanced tools, we’re not only modernizing the evaluation process, but also creating an enchanting and transformative experience for both students and instructors.

This approach goes beyond grading; it’s about empowering the next generation of wizards to realize their full potential. With a blend of tradition and innovation, these tests serve as a bridge between magical lore and modern technology, ensuring that every student is prepared, inspired, and ready to thrive on their magical journey.

Fabric Fera Verto

In our solution we had created report for two groups of Users. For the future wizard who is going to get the report that will summarize the results of the Exams in the last step of the CRM pipline, that will be filtered by the student id. Such as this is a personal document available only to him or her:

 Another key group of users we targeted includes the teachers of Hogwarts, led by Professor Albus Dumbledore. They are provided with an overview of student progress, along with statistics for the various houses—both collectively and for each individual exam:

The filters are dynamically is changing the placement of the flags in the championship dashboard depending on the current situation and sum of the points by the student that are competing in each of the houses. For this we used DAX measure:

We used data model with a fact table OWL (challenges) (with Direct Query connection type to the Dataverse) and dim tables Student (Import mode, cds connection), house (from Xsls and SharePoint), and date (Dax measure – Bravo table). Measures are separated in a separate table to make better it more structured. Measures are organized in a separate table to improve structure and clarity: 

Low-Code Charms

Revolutionizing Examination Processes Through Low-Code Innovation

In today’s rapidly evolving educational technology landscape, even the most traditional magical institutions must adapt. Our implementation of Microsoft’s Power Platform demonstrates how low-code solutions can transform traditional examination processes into streamlined, automated experiences that benefit both students and examining professors.

The Power of Business Process Flows

At the core of our examination system lies Microsoft’s Business Process Flow (BPF) functionality, serving as the architectural foundation that guides students and examiners through each step of the examination journey, much like the Marauder’s Map guides visitors through Hogwarts’ corridors. This low-code approach ensures consistency and clarity, while significantly reducing the complexity typically associated with magical examination management systems.

The BPF structure provides a clear visual pathway through the examination process, automatically guiding participants from registration through to certification with the precision of a well-cast Guidance Charm. This intuitive flow reduces cognitive load on both students and examining professors, allowing them to focus on the examination content rather than navigating complex systems.

Automated Communication Through Power Automate

One of the most innovative aspects of our implementation is the seamless integration of Power Automate with Link Mobility’s SMS capabilities, providing communication efficiency that rivals that of owl post. This automation triggers at crucial moments – when the Business Process Flow transitions from the Registration to Certification stage. Students receive immediate SMS confirmation that their examination has begun, providing reassurance and establishing clear communication channels from the start, ensuring no message is lost in the owlery.

This integration showcases the versatility of low-code solutions, as complex communications that would traditionally require extensive coding (or complex charm work) are accomplished through Power Automate’s intuitive interface and our custom connector to Link Mobility.

Dynamic Challenge Management

Our examination structure introduces a sophisticated approach to challenge presentation and progression, as carefully structured as Professor McGonagall’s Transfiguration curriculum. Each examination category resides within its own form, connected to our central Challenge table. This modular design allows for easy updates and modifications without disrupting the overall system architecture.

The progression through challenges is managed through a workflow system that monitors option set field updates with the precision of the Hogwarts House Point system. As students complete each challenge, the workflow automatically advances the Business Process Flow to the next examination category based on the value in this field. This automated progression ensures a smooth, uninterrupted examination experience while maintaining the integrity of the assessment process.

Key advantages of our implementation include:

  1. Reduced Development Time: The low-code platform accelerates the development process while maintaining robust functionality, allowing our magical institution to stay current with modern educational standards.
  2. Enhanced User Experience: The intuitive flow and automated communications create a more engaging and less stressful examination environment, letting students focus on their magical prowess rather than technical complications.
  3. Flexible Architecture: The modular design allows for easy updates and modifications to meet evolving examination requirements, ensuring our system can adapt quickly and readily.
  4. Automated Progression: The intelligent workflow system reduces manual intervention and potential human error, providing outstanding reliability.

Looking Forward

This implementation serves as a testament to the power of low-code solutions in creating sophisticated, user-centered applications within magical education. By leveraging the Microsoft Power Platform’s capabilities, we’ve created an examination system that not only meets current needs but is also positioned to evolve with future requirements, ensuring Hogwarts remains at the forefront of magical education technology. As we continue to bridge the gap between traditional magical education and modern technology, our system stands ready to support the next generation of witches and wizards in their academic pursuits.

Pro-Code Potions

Enhancing Low-Code Solutions with Strategic HTML Integration: A Modern Approach to Magical Development

In our journey to create innovative solutions within the Microsoft Power Platform ecosystem at Hogwarts School of Witchcraft and Wizardry, we’ve discovered that sometimes the most effective approach is to blend low-code capabilities with strategic pieces of traditional programming, much like combining precise potion ingredients with the right stirring technique.

Our approach to the Potions examination system involves embedding custom HTML web resources within our Power Apps solutions, particularly in areas requiring specialized user interfaces or complex interactions. We created an engaging, medieval-themed assessment environment worthy of Professor Slughorn’s approval, complete with animated elements and responsive design. This custom interface seamlessly integrates with our Power Apps solution through web resources, demonstrating how traditional coding can enhance the user experience beyond standard low-code capabilities. The implementation includes custom-styled medieval fonts reminiscent of ancient spellbooks and animated potion bottles with realistic bubbling effects. Custom HTML allows us to create lightweight, efficient interfaces that load quickly and perform smoothly, ensuring students can focus on their brewing techniques rather than technical difficulties.

The potion mixing happens by selecting two ingredients from your inventory, ingredients won in the previous examination categories. It is up to the student to mix the correct potions according to the riddle provided in the html web resource above. You select two inventory items, press the button “Brew Potion”, which is meticulously developed in Ribbon Workbench, and voila! If the ingredients correspond to a known potion, you gain honor and glory and also points in your exam. If the ingredients do not mix well, you make a useless potion that provide you with no points. As you mix and match, inventory items decrease in quantity or disappear completely, so make sure you take the time to understand the riddles. If all inventory items are used, or you do not have enough to brew a potion, the examination category is finished and you are redirected to the results page.

This all happens due to a magically magnificent JavaScript, utilizing the wonderful Crm.WebApi properties and methods to interact with CRM data.

Pro-Code Potions: Innovative React Components in Action

In our latest release, we’ve leveraged cutting-edge pro-code technologies to develop a suite of innovative components that push the boundaries of web application functionality. Let’s dive into the exciting features we’ve implemented:

PCF Components Showcase

Register Image Component

Our facial detection technology offers precise identification capabilities:

This component streamlines the registration and identification process, ensuring quick and accurate documentation of magical personas.

  • Precise Facial Detection: Leverages advanced face API for accurate wizard identification
  • Automated Documentation: Seamlessly uploads images directly to the CRM annotation table
  • Technical Optimization: Automatically zooms and processes images to ensure clear, focused facial captures for identification purposes. All done directly in browser.

The Flappy Broomstick Challenge

The Flappy Broomstick game is far more than a simple diversion—it’s a sophisticated evaluation of a wizard’s most critical flying abilities:

  • Spatial Awareness: The intricate collision logic tests a wizard’s ability to navigate complex magical environments with precision
  • Reflex Assessment: Custom gravity mechanics challenge the pilot’s instantaneous reaction times and spatial awareness
  • Endurance Measurement: The score tracking system provides quantitative data on a wizard’s sustained flight performance
  • Stress Response Evaluation: The game’s increasing difficulty mimics real-world magical navigation challenges

Imagine recruiting for a high-stakes magical profession like Quidditch player. The Flappy Broomstick component doesn’t just test flying—it reveals a candidate’s potential under pressure.

Easter Egg Component: The D365 Character Invasion Prank

A group of tech-savvy students have unleashed a digital prank that’s turning serious study sessions into absolute chaos. Their Easter Egg component creates a wild spectacle: as students type, random characters literally come running across their screens, interrupting their work in the most absurd way possible. I suspect the Weasley twins have something to do with this.

Imagine a student diligently working on a potions essay, only to have tiny letters and numbers suddenly sprinting across their screen, dancing, leaping, and causing complete visual pandemonium. Professors are outraged, students are in hysterics, and the magical academy’s technology department is at their wit’s end.

The prank is ingenious in its simplicity: keyboard inputs trigger these animated characters to parade across the screen, transforming mundane typing into an unexpected carnival of chaos. Serious research documents are now a playground for mischievous digital characters, turning concentration into comedy.

Technical Implementation Highlights

  • Developed using modern React 19
  • Leveraged React’s latest hooks and state management techniques
  • Prioritized performance and modern development practices
  • Seamless cross-platform user experience across desktop and mobile devices
  • Opted for React’s brand new compiler over virtual components. It automatically understands the codes dependencies, and optimizes rendering.

The entire project is available for exploration on our GitHub repository: sindrejv/ACDC

Azure Functions with Open AI and canvas app

The first challenge is the Certification quiz that tests the student in magical theory. This questionnaire is generated using OpenAI (GPT-4) hosted in Azure AI Foundry and uses a canvas app with Power Fx integrated into the model-driven app as the user interface. Among these technologies, we use an Azure function that is integrated with the AI to process the data so the AI output is more convenient to use in Power Fx. See the repo here:

ACDC/quizai/HarryPotterFunctions/HarryPotterFunctions at main · sindrejv/ACDC

We use open AI structured output (Introduction to Structured Outputs | OpenAI Cookbook) to genreate an json response of the quiz with the props: ‘You are a quiz bot that provide question for wizards in the harry potter universe, You must provde a question and three awnser where the questions and awnseres are a bit long, make the awnsers as difficult to awnser like microsoft sertification questions, also add the awnser in the reponse json


How this entire flow works is as follows: When the canvas app is loaded, the OnStart event in the canvas app triggers a Power Automate flow that posts to the HTTP-triggered Azure function. The Azure function then posts to the OpenAI deployment with a JSON template of the quiz data, which the AI provides. The Azure function processes the JSON data and sends it back to the canvas app.

Plugins:

In the solution, we use a plugin to add inventory items for the potion game. The original idea was to collect items in each game, but due to a time crunch, we created a plugin that hardcodes adding items when the user arrives at the potion game. 🙂 (The original idea was to use a custom API in Dynamics with input parameters specifying which items to add).

Soruce code: ACDC/quizai/AcdcPlugins at plugins · sindrejv/ACDC

Digital transformation

From a business perspective, this innovative system for evaluating wizardry skills presents a unique opportunity to tap into the growing intersection of education, technology, and entertainment. By leveraging advanced tools such as Power BI, Power Automate and Model-Driven apps, this solution not only modernizes the way magical education is assessed but also aligns with current trends in gamification and learning. At the same time the solution provides a good case for establishing methods to replace pen and paper, and increase efficiency.

The business model could capitalize on a subscription-based platform where schools, magical academies, or online learning portals pay for access to the tests, personalized feedback, and the tailored recommendations that guide students towards their magical specialties.

Furthermore, the integration of personalized recommendations offers significant business value. As students progress through the tests, they generate data that can be used to create targeted services and products. For example, based on the strengths and weaknesses identified through the assessments, institutions could offer specialized courses, workshops, or even magical tools designed to improve a student’s abilities in specific areas. The system could also serve as a recruitment tool, where students with certain talents are connected to professional organizations or magical institutions that require specialized skills, creating a direct link between education and career opportunities.

The scalability of this system is another major business advantage. The solution is designed to be adaptable, easily integrated into various educational settings, and capable of expanding as the user base grows. As the platform evolves, new magical disciplines could be introduced, or additional features could be added to improve the experience for both students and instructors. By embracing cutting-edge technology while staying true to the enchanting, fantasy-driven nature of magical education, this solution positions itself as a compelling product in both the educational technology market and the broader entertainment and gaming industry.

ALM Magic

We have used the out-of-the-box PowerApps feature (Pipelines) for our components within Power Apps, creating a core solution that is deployed to Production once it is ready. This streamlined approach ensures that the components are efficiently developed and tested before going live, maintaining the integrity of the system throughout the process. Given that this is a relatively short event, we opted to create only two environments. This decision allows us to maintain simplicity and focus on the core aspects of the solution, minimizing complexity while ensuring the solution remains flexible and scalable for the duration of the event.

Magic Matrix

We utilized SharePoint to build the report by creating a dedicated folder containing images corresponding to each house, with each image named appropriately to match its respective house.

To get the data into the Power BI we used the SharePointfolder data source to connect to a new table:

And we used Power Query transformations we got the SharePoint URL into the PowerBI report:

Reactive simplicity

In addition to our API, the nr. 1 howler service also has a website. It is built using React Router, with an impeccable developer-experience with hot-reloading, react hooks, sass, and more!

Using GitHub Secrets and Workflows ensures secure handling of sensitive information through encryption and access control. As an example from the github-actions yml-file: azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_THANKFUL_HILL_0CC449203 }}

LOW CODE: Power Pages Implementation PART 2

First part of this article you find here LOW CODE: Power Pages implementation | Arctic Cloud Developer Challenge Submissions

For back-office administration, we created an app called Owl Management:

This is a low-code, model-driven app where all functions for Wayfined Academy’s back office are handled, including student, faculty, application, inquiry, and survey management. And off course analytics to provide a helicopter view:

From the low-code perspective, we created a sitemap using both OOB sitemap and app editor.

We also highlighted how this was done previously with XRMToolBox’s Sitemap Editor which saved us, low code experts, from editing the sitemap directly in XML:

We paid tribute to a famous blog post that made waves in the community. Megan shared a clever hack on how to add some color to the system by using emojis, which really took the community by storm! Today, of course, we would prefer to implement this using JavaScript Web Resources attached to views, but we wanted to give a nod to this iconic hack! Here’s the link: Using Emojis in OptionSet Fields.


and the result;D

The app also includes Business Process Flows, Staging, Branching, and more—all done with low-code:

And the activities are assigned to the Student using Power automate (trigger on student request update/create

Student will see all the activities on the My Activities page in Power Pages in the List:

When the Survey is assigned to the Student – user navigates to the Survey tab and the first question appears on the screen:

Your existance is under threat!!!! (if you create software for a living)

AGI, ASI. Cool words, huh. Really popular on X. Well, it isn’t really needed in order to make everyone in this room obsolete. Have you tried out v0 from Vercel? Well, we have. And its fucking great. We have also tried out the new code-for-you feature from Github Copilot. We have used both Claude and GPT to make our code. As a Software Developer, I am proud to say, that the number of lines of code I have myself written in this project is maybe about 5% of the lines of code that have been written in total.

For how this integrates into Visual Studio Code, make sure to see the right pane from my code editor:

I have some more examples of this right here, but sadly for me I can’t find all of them because this VSCode-plugin isn’t as powerful as other options.

When coding outside of my main job (we have policies and boring stuff like that) I opt for another IDE called Cursor.

When I first tried this editor built as AI-native I can honestly say that my productivity had a 2-3x increase as an average across tasks I know how to do and tasks I don’t know how to do. It’s usefulness is maybe highest when trying to create something that you understand at a conceptual level, but maybe there are some API’s you aren’t familiar with the syntax of.

I made a stripe integration in about two hours. I know I would’ve spent at least four in the documentation alone if I did this without cursor.

Make sure you embrace these new tools, or you’ll be dead before current 1st year uni students get their first internship.

We are excited to introduce a new feature that automates two processes in our solution. You can now book gear through the Room of Requirement. This process will create a calendar invite that includes both you and the resource. Each item in the Room of Requirement is a registered Exchange resource that you can interact with to make appointments. Simply go to the Room of Requirement, select the resource, and wait for it to be added to your calendar.

The second flow is designed to enhance data security by monitoring for policy violations and automatically notifying the appropriate manager when such incidents occur. When an item (e.g., a document, email, or message) violates a Data Loss Prevention (DLP) policy, the flow triggers an alert. It captures details about the violation, such as the item name, location, and nature of the sensitive data involved. An email notification is then sent to the responsible manager, including key details of the incident to enable prompt review and remediation.

Thieving Ssslytherins on a stairway to HELL

Thieving bastards

As true Slytherins we of course have to steal, and steal we did!

  • ngrok
    We used third party ngrok to expose our local endpoint our local development server to the Internet!
  • SASS + REACT = <3
    Clever clogs utilize existing frameworks for simplifying styling: Sass – CSS with superpowers in combination with React makes a perfect match.
  • Link Mobility
    It’s good to know that your message has been delivered. Therefore you get a confirmation when your message has been delivered to the Howler!

Stairway to HELL

In our solution we combine these three Cloud APIs to make our solution floooow through the cloud!

  • Azure Speech Services through SpeechSDK
  • Azure OpenAI API
  • Dataverse Web-API