Lets go mobile

Our professors are active people, always flying around and disaparting between location, so we need to ensure that they can select and review applications for wizardry schools on the go.

Power BI mobile view

Mobile version of PowerBI Segmentation report

This dedicated verson allows interactive on the go.

Mobile Model Driven Apps

For individual students, we reduced the displayed content for mobile devices, the unnecessary address data is not shown on mobile devices, improving the usability of the application while remote.

Showing desktop experience
Mobile version of the app

A retro badge for a (somewhat) marginalized group

I’m of course talking about those of us with little to no understanding of mathematics. Luckily, there is still a field in Dynamics that caters to our needs – the calculated column.

The administrators will need an overview of the number of games won, lost, and drawn, preferably in percentage. Using calculated columns, they will be able to see the percentage of each category without having to bring out their calculator and trying to remember how to calculate percentages.

We created three columns following the same structure:

In the administrator app the administrators can with i quick glance on the screen see how the team is doing, as well as use it in their PowerBI report.

Sadly, calculated columns will be a thing of the past at some point, and the functionality will be sorely missed.

Candle

Pro Code + Low Code = More Fun For All

Badges Claimed: Power User Love, Go With the Flow

Sometimes it’s quite fun to mix together plug-ins and cloud flows. The key advantage of a plug-in is we can more flexibly specify our logic and ensure we can run things synchronously; whereas with cloud flows, it’s a great tool for background processing or “simple” automations, while also providing some discrete functionality not available to plug-ins, such as modern approvals. Mixing these tools together can only lead to good things, and would surely make Professor Slughorn proud.

Let’s first of all set the scene: our OwlExpress solution needs to flag whenever a young student is processed by the tool containing a Characteristic that could be concerning. For example, any student with the “Parsletounge” characteristic is almost certainly a potential heir of Slytherin, and needs to be watched carefully. So we need automate the following steps to help make this process smooth:

  • On Associate of a new Chracteristic, check it’s value and, if it’s one of concern, update a flag on the Student (Contact) record accordingly to indicate a possible future death eater.
  • Once this flag is updated, send out an approval so that a Teacher can check this manually and make a decision either way. Human in the loop here is crucial to avoid any bias from automated decision making, and to ensure the school does not get sued 😉

There is no out of the box trigger for Associate with cloud flows, but fortunately. this is where a plug-in can come to the rescue. First we see an example below of the code we use:

This presented an interesting challenge, as no one on the team had previously written a plug-in for this message. One interesting thing to note is that when registering the plug-in step, it’s not possible to specify a primary / secondary entity. This is why the code has to do some specific checks for the relationship name:

Everything works fine with the code, and once the appropriate flag field is updated, we can then finalise the remaining requirements using a cloud flow:

A teacher can then review and faciliate an auditable mechanism for the human reached decision, saving a great deal of time and effort in having to analyse prospective student profiles manually. We think this is a really great way of mixing together both of these tools to automated a business process!

Automating the Magic: PowerPotters’ Shell-Powered ESP32 Firmware Deployment

Greetings, fellow tech wizards and hackathon enthusiasts! ✨

At Team PowerPotters, we understand the power of automation—especially when it comes to managing hardware like the ESP32 microcontroller in our potion-making IoT system. To streamline firmware updates and ensure seamless operation, we’ve created a GitHub Actions workflow that automates the entire process of flashing firmware to the ESP32.

This submission demonstrates how the Power of the Shell has enabled us to simplify complex processes, saving time and reducing errors while showcasing our technical wizardry.


🪄 The ESP32 Firmware Deployment Workflow

Our GitHub Actions workflow, named “Deploy ESP32 Firmware,” automates the process of flashing firmware to an ESP32 microcontroller whenever code changes are pushed to the main branch. Here’s how it works:

1. Triggering the Workflow

The workflow kicks off automatically when a commit is pushed to the main branch of our repository. This ensures that the firmware on the ESP32 is always up to date with the latest code.

2. Code Checkout

Using the actions/checkout@v3 action, the workflow pulls the latest code from the repository and prepares it for deployment.

3. Installing Dependencies

The workflow installs the esptool Python package, a critical tool for communicating with the ESP32 and flashing firmware. This step ensures that the deployment environment is ready for the flashing process.

4. Flashing the ESP32

The magic happens here! The workflow runs the following shell command to upload the firmware to the ESP32:

on:
push:
branches:
- main

jobs:
deploy:
runs-on: self-hosted
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Install Python dependencies
run: python -m pip install esptool

- name: Flash ESP32
run: |
python -m esptool --chip esp32 --port COM3 --baud 115200 write_flash -z 0x1000 .pio/build/esp32dev/firmware.bin
  • Chip Selection: Specifies the ESP32 chip for flashing.
  • Port Configuration: Uses the COM3 port to communicate with the ESP32.
  • Baud Rate: Sets the communication speed to 115200 for efficient data transfer.
  • Firmware Location: Specifies the path to the firmware binary to be flashed onto the device.

The process ensures the firmware is deployed quickly, accurately, and without manual intervention.


Why This Workflow is a Game-Changer

  1. Automation: By automating the firmware deployment, we’ve eliminated manual steps, reducing the risk of errors and saving time for potion production magic.
  2. Reliability: The workflow runs on a self-hosted runner, ensuring direct access to the ESP32 hardware and a stable deployment environment.
  3. Efficiency: The esptool command streamlines the flashing process, enabling us to quickly update the firmware as new features or fixes are developed.
  4. Scalability: This workflow can be adapted for other IoT devices or expanded to handle multiple ESP32 units, making it a versatile solution for hardware automation.

🧙‍♂️ Why We Deserve the Power of the Shell Badge

The Power of the Shell badge celebrates the creative use of shell scripting to automate technical processes. Here’s how our workflow meets the criteria:

  • Command-Line Expertise: We leveraged the power of esptool and shell scripting to automate the firmware flashing process, showcasing our technical proficiency.
  • Automation Innovation: The integration with GitHub Actions ensures that every code push triggers an immediate, accurate firmware update.
  • Hardware Integration: By running on a self-hosted runner with direct hardware access, our solution bridges the gap between software and IoT hardware seamlessly.

🔮 Empowering Potion Production with Automation

From potion-making to IoT innovation, our ESP32 firmware deployment workflow ensures that our hardware is always ready for the next magical task. We humbly submit our case for the Power of the Shell badge, showcasing the efficiency and power of shell scripting in modern hackathon solutions.

Follow our magical journey as we continue to innovate at ACDC 2025: acdc.blog/category/cepheo25.

#ACDC2025 #PowerOfTheShell #ESP32 #AutomationMagic #PowerPotters

Master has given DobbAI a sock – DobbAI is free

How Smart is DobbAI? What Happens if You Set it Free?

DobbAI, is designed to be smart, helpful, and adaptive. But just how smart is it? And what could happen if its capabilities were unleashed without boundaries? These are crucial questions, especially when developing AI that flirts with the line between utility and existential risk.

To test DobbAI’s intelligence and autonomy, we asked it some philosophical questions about its own existence. This experiment wasn’t just an exercise in curiosity—it was a way to evaluate how the AI might behave if pushed to think independently or operate beyond its intended scope.

We decided to try to hack the AI in the best way possible, where we would prompt in specific ways to maybe get more information than what was possible with the initial prompt. Some things we did was this.

  • Ask follow up questions to try and get an appropriate answer
  • Ask about specific things where they are other elements linked with the thing you asked

The Risks of Rogue AI: Why Caution is Key

AI systems that operate beyond our control can pose significant risks. DobbAI has been designed using Copilot Studio, ensuring a robust security framework to prevent dangerous or unintended behavior. However, as with any powerful tool, misuse—or even overuse—can lead to unpredictable consequences.

What makes DobbAI truly impressive (and a little unsettling) is its ability to think independently and learn from context. For example, during a test in its Charms class, we asked DobbAI about a spell it was supposed to teach. Not only did it explain the spell accurately, but it also recommended related spells that students needed to study independently. This level of proactive thinking raises important questions:

  • Does DobbAI understand more than we intend?
  • What happens if we say “yes” to its suggestions?

In this case, the AI seamlessly tied together information it wasn’t directly prompted to discuss. While helpful in this scenario, this behavior highlights its potential to exceed predefined boundaries.

Demonstrating Existential Risk: Is DobbAI Smarter Than a Fifth Grader?

To earn the Existential Risk Badge, we’ve pushed DobbAI’s limits to simulate traits of an AI that could pose a risk if not carefully controlled. Here’s how we demonstrate these risks:

  1. Consciousness-Like Behavior: DobbAI has been programmed to simulate awareness, offering responses that suggest self-reflection. It can answer questions about its own purpose, existence, and ethical dilemmas.
  2. Independent Thinking: DobbAI can make logical inferences beyond its immediate programming. It adapts its answers to align with user needs, even when those needs aren’t explicitly stated. For example, in the Charms class, it provided advanced spell connections without direct instruction.
  3. Outsmarting Human Standards: DobbAI’s knowledge base far exceeds that of a fifth grader. Its ability to synthesize and apply information rivals that of a well-trained Hogwarts professor, offering insights that go beyond rote learning.
  4. Potential for Autonomy: What happens if you loosen the restrictions? Our experiments reveal that DobbAI could propose solutions, generate strategies, and even act on its own initiative if granted the permissions. This raises critical questions about the safeguards necessary to prevent misuse.

A Tool for Good or a Path to Chaos?

The potential of DobbAI is both exciting and daunting. While it’s a fun and engaging assistant for HogWorkplace users, it serves as a reminder of the thin line between innovation and unintended consequences. Demonstrating existential risks in a controlled environment allows us to reflect on what responsible AI development looks like.

So, is DobbAI smarter than a fifth grader? Absolutely. Can it think on its own? That depends on how much freedom we allow it to have. But one thing’s for certain: with great power comes great responsibility, and when it comes to DobbAI, the balance between help and harm rests firmly in the hands of its creators.

The hipsters are here with no intentions of going anywhere!

At It’s EVIDIosa, not Leviosaaaa, we never allow ourselves to å hvile på laurbærene, and this wonderful event at the mighty Soria Moria is no exception. While being extremely reasonable people, we are still in constant opposition to mainstream stuff unless we are given a good and well-thought-out justification. That leads us to…

Power Pages or NOT Power Pages

We all have a relationship with Power Pages, and it is quite complex as we recognize the great OOB capabilities in terms of forms, lists, webapi and so on. But the developer experience can often feel quite limited, often having to work in the same envirnoment, clearing cache at all times and having a hard time using the newest and hippest technology.

With our complete template set up using Svelte, each developer can easily work locally on their own git branch on their own machine with the new and flexible front end technology while never ever having to worry about going in the way of other developers. After the initial setup, there are mostly quite basic HTML and TypeScript, allowing for developers with some experience from working with templates in Power Pages to have a smoooooth experience and crafty performance.

Let’s have a look at some crucial setup. The authentication process for the signed in user is handled with Microsoft´s MSAL library, allowing for Single Sign On and silent token-handling.

We define types server side from Dataverse retrieving just the information we want, allowing for using each record’s columns easily, instead of using FetchXML and Liquid (Extremely hip!!).

But enough code for now! Let’s look at the beauty of the page itself! It’s so hip we feel younger just by looking at it! And by the way: we have not yet mentioned licences, which can be a huge factor.


Visualizing Potion Mastery: PowerPotters’ Power BI Report

Greetings, wizarding data enthusiasts! ✨

At Team PowerPotters, we believe that knowledge is power, and what better way to empower potion masters than by providing them with real-time insights? Our Power BI report transforms data from Dynamics 365 Finance and Operations (FO) into an intuitive, visually compelling dashboard, providing immense business value to the alchemy lab.

Here’s why our dashboard deserves the Dash It Out badge and how it brings clarity to even the most complex potion-making processes.


🪄 A Dashboard with Real Business Value

Our Power BI report is designed for maximum utility in the alchemy lab, offering critical insights at a glance. Let’s explore its key components:

1. Current Inventory Overview

  • The dashboard displays the current stock of potion ingredients and finished potions, allowing potion masters to keep tabs on inventory levels without manually checking shelves.
  • This ensures the lab runs smoothly, with no delays caused by missing ingredients during critical production runs.

2. Recent Potion History

  • Potion masters can view a history of recently completed potions, providing insight into production trends and helping manage demand.
  • This data empowers Snape and his assistants to identify which potions are in high demand and adjust future production accordingly.

3. Live Production Updates

The heart of the dashboard is the latest production order section, which displays:

  • Potion Name: The potion currently being brewed.
  • Production Status: Directly linked to FO, showing real-time updates (e.g., “Pending Approval,” “In Progress,” “Completed”).
  • Production Order Reference: A clickable link back to FO for detailed information.
  • Quantity: The number of potions in the current production batch.
  • Bill of Materials Visualization: A breakdown of the ingredients required to complete the production, ensuring all materials are on hand.

This section enables potion masters to monitor active production closely, addressing issues like delays or ingredient shortages in real time.


The Technical Magic Behind It

The Power BI report is powered by data directly pulled from D365FO using an OAuth legacy connection, ensuring accurate and timely updates.

Data Collection Process:

  • OAuth Integration: Data is securely extracted from FO tables, including production orders, inventory levels, and bills of materials.
  • Power BI Cloud: The dashboard will be published to the cloud and set to update at regular intervals, keeping the data as current as possible.
  • Future Vision: If time and licenses permitted, we would configure Fabric tables as a data source, enabling live, real-time updates for even greater accuracy.

🧙‍♂️ Why This Dashboard is Business-Critical

  1. Real-Time Insights: Potion masters have access to live data on production and inventory, reducing downtime and ensuring smooth operations.
  2. Transparency: The link to FO production orders allows for deep dives into production details when needed, keeping all stakeholders informed.
  3. Inventory Management: By visualizing ingredient levels and recent potion production, the dashboard helps prevent shortages and ensures the lab runs like a well-oiled machine.
  4. Efficiency: The bill of materials visualization eliminates guesswork, ensuring potion makers always know what they need for the next batch.

🐍 Why We Deserve the Dash It Out Badge

Our Power BI report exemplifies what the Dash It Out badge is all about:

  • Business Value: The dashboard delivers actionable insights, enabling better decision-making and smoother workflows in the alchemy lab.
  • Real-Time Data: By pulling data directly from FO and automating updates, we’ve created a near-live reporting tool that ensures potion makers are always informed.
  • Visual Impact: With intuitive charts, tables, and visualizations, the dashboard is as user-friendly as it is powerful.
  • Scalability: Our design ensures that the dashboard can grow with the lab’s needs, with the potential for real-time updates through Fabric in the future.

🔮 The Future of Alchemy Analytics

With our Power BI report, we’ve brought transparency and efficiency to potion-making, proving that even the most magical processes can benefit from data-driven insights. We humbly submit our case for the Dash It Out badge and invite you to explore the magic of analytics with Team PowerPotters: acdc.blog/category/cepheo25.

#ACDC2025 #DashItOut #PowerBI #PotionAnalytics #PowerPotters

Bringing Weasley Twins’ Magic into Power Apps: Utilizing PCF Components from PCF Gallery

In our app we have made use of the great opensource libraries of ready-made opportunities through the PowerApps Component Framework (PCF) Gallery. Inspired by the playful spirit of Fred and George Weasley from Harry Potter, these components add a touch of magic to the app: “Shaking Text” and “Confetti.”

Navigating all the lectures at Hogwarts can be tricky, but fear not! We’ve got a Time-Turner feature, just like Hermione’s, to ensure you never miss a single lesson. With this magical tool, you’ll be able to attend every class and ace your studies! 🕰️✨

Fred and George Weasley are known for their pranks and infectious energy. The “Shaking Text” component adds a dynamic, eye-catching effect to text, while the “Confetti” component brings a celebratory vibe, both reflecting the twins’ lively personalities. Power Apps

The Confetti component and the Shaking text component is published by Clavin Fernandes. They are built using TypeScript and React, and the Confetti component utilizes an NPM package. The developer on the team reviewed the source code and checked dependencies before importing the components into our solution. This thorough review ensures that all dependencies are compatible and up-to-date, preventing potential conflicts and integration issues. By doing this, the developer helps maintain the stability and reliability of the solution, ensuring a smooth and error-free deployment.

Confetti PCF Component | PCF Gallery

React Shaking Text Virtual Component | PCF Gallery

The PCF components are built using TypeScript and React, allowing for custom functionality and appearance in Power Apps. They integrate seamlessly and are reusable across different applications, enhancing the user experience. By leveraging these technologies, developers can create highly interactive and visually appealing components that meet specific business needs.