Morning Glory: PowerPotters Awake Before the Sun!

🌅 Rise and Shine, Wizards and Witches! 🌅

When the rooster is still snoozing and the sun has yet to cast its glow on Holmenkollen, Team PowerPotters of Cepheo is already wide awake, wands (and keyboards) at the ready! As the morning mist lifts, we’re here to claim the Morning Glory badge—a testament to our determination to lead the charge into Day 2 of the ACDC 2025 challenge.


🧙‍♂️ Day 1 Recap: A Magical Start
With a wave of our wands and plenty of caffeine, we had a fantastic start to our hackathon journey yesterday! Here’s what we achieved:

  • Nine badges claimed: From Early Delivery to Remarkable Team Spirit, we’re making the judges proud and setting the stage for more magic.
  • Housepoints gained: Our Hogwarts spirit is earning us extra points and inspiring others to embrace the wizarding theme.
  • Project progress: The Potion Production Platform is bubbling with potential, and we’re getting closer to perfecting our IoT-driven elixir automation system.

☀️ A Glimpse of the Morning Magic
As dawn breaks, our camp is alive with energy. From spellbinding brainstorming sessions to the clatter of keyboards, every team member is already hard at work, ensuring Day 2 will be as magical as Day 1. Our wizarding-themed setup continues to glow with Hogwarts enchantments, reminding us why we’re here: to brew innovation and have fun doing it.


💫 What’s Next?
Today, we’ll tackle more badges with the same gusto, including:

  • Chameleon: Making our app as adaptable as a Metamorphmagus.
  • Dash It Out: Summoning the most magical Power BI dashboards you’ve ever seen.
  • Hogwarts Enchantment: Proving we’ve brought the Harry Potter theme to life in every detail.

As the morning unfolds, we’re casting spells of productivity and innovation to ensure Day 2 builds on the success of Day 1. With nine badges in hand, housepoints adding up, and spirits high, we’re ready to make more magical moments happen!


Final Thoughts
The early bird catches the worm—or in our case, the Morning Glory badge. We’re not just awake before sunrise; we’re energized, excited, and enchanted by the possibilities this day holds. Stay tuned for more updates from Team PowerPotters of Cepheo, and don’t forget to follow our magical journey!

🪄 #MorningGlory #ACDC2025 #PowerPotters #HackathonMagic #Day2Awakens

The Magic of the Quiet Hours

There’s something truly magical about working before the sun rises. It is a special kind of stillness that comes with working in the early hours of the morning—before the sun has fully risen, when the world seems to be in a peaceful pause. For many of us, it’s easy to see the morning as a time to snooze a few extra minutes or rush through a cup of coffee before starting the day. But for others, the quiet moments just before dawn offer an invaluable opportunity to get ahead, focus deeply, and set the tone for a productive day. Plus, there’s something incredibly satisfying about knowing that while the rest of the world is still asleep, you’re already making progress!

Let’s trust Artificial Intelligence with our whole body – an experience

why a flow fails successfully

Prerequisites: When using the response value of the action “Create a text with GPT using a prompt” human approval is required to move on with the flow

https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-flow#incorporate-human-review

But let us start from the beginning. What do we want to achieve?

Based on the location of a student, we would like the AI to decide if it’s safe to send out one of our precious, well-cared Owls.

We don’t want to send her out to the terrible snowstorms of Oslo but for sure let them have an enjoyable flight to Paris.

Because we trust the AI with our heart, head, and full body, we obviously just want to proceed with the result.

But: Power Automate just blocks our innovative spirit.

With the usage of the beloved “Create text with GPT using a prompt” action a content approval needs to be added.

Our flow besides that looks quite cheap and straightforward:

It gets triggered once a database row for Student gets added or modified for the city (location)           

We initialize the Location as a new variable and hand it over to a custom prompt we previously created

Based on the answer, we update the preferred contact method of the student:

  • Owl
  • E-Mail
  • SMS

Of course, we only send the owl to nice destinations. In bad weather conditions, we prefer to proceed via Email or SMS.

So. Based on Power Automate, we have to add an approval action that requires human interaction to approve the response from the AI.

How can we skip this? And be fully commited to the Age of Artificial Intelligence?

Step 1: We of course add a “Start and wait for an approval of text” action as desired by Power Automate

We hand over the text response from the AI prompt and send it to Professor McGonagall – a real, mature human being – for approval.

But with a tweak.

Step 2: Adding an Action timeout of 1 second to the Approval action:

As mentioned – we don’t want to wait for human approval. We just want to proceed with the flow. Therefore we set the Action timeout to 1 second, which equals “PT1S”.

Reference to ISO 8601: https://en.wikipedia.org/wiki/ISO_8601#Durations

This will cause the action to time out before Minerva is able to approve or decline it.
Even with all the witchcraft in the world and the elder wand.

Step 3: Creation of a parallel branch after the Approval action

The action will timeout anyway, still we require a happy path for receiving an answer (which is actually just empty in our case) and a path to handle the timeout.

Step 4: Timeout condition

The approval will time out in any case. Therefore a time-out-related action is required.
In our scenario, a condition is whether we can send an owl or not.

Therefore, we set the “Run after” setting to “Has timed out” and proceed with the update of the Student data accordingly to the mighty AI.

Please don’t get confused. The Flow will timeout. That means the flow will fail but still proceed with the update:

The flow times out but still proceeds to update the record as we have planned initially:

Segmentation in a Power BI Dashboard: Helping Hogwarts Teachers Find Students

Teachers and administrators at wizarding schools across the globe often have to spend a great deal of time investigating and evaluating potential students to invite to their school. The end result if a bad decision is made can be catastrophic, as He Who Must Not Be Named has demonstrated. In addition, having to co-ordinate the activity of many hundreds of owl’s across a country can be problematic, without detailed knowledge about the potential locations where letters need to be sent out to.

Thanks to our innovative and scalable dashboard solution as part of OwlExpress, it becomes even easier then ever for wizarding school staff to not only see where prospective students are based, but also to easily segment and group together wizards with the type of characteristics that will make for a truly phenomenal wizard. This helps save an immense out of time for staff, as well as supporting ingestion of data from a variety of data sources – such as Microsoft Dataverse, SharePoint document sites and Azure Data Lake locations:

Altogether, House Elves Limited’s solution provides another great reason to consider adopting OwlExpress for your school, to help streamline your operations and more efficiently plan for the onboarding of the very best wizarding students!

Badge Category:

  • Dash it Out

CI/CD like a boss

What’s better than automatic deploy pipelines? Not that much really. When merging to main, our React App automatically deploys to Azure Static Web Apps. Pretty neat! All secrets are of course stored in Github Secrets.

Our github workflow:

name: Azure Static Web Apps CI/CD

on:
  push:
    branches:
      - main
  pull_request:
    types: [opened, synchronize, reopened, closed]
    branches:
      - main

jobs:
  build_and_deploy_job:
    if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
    runs-on: ubuntu-latest
    name: Build and Deploy Job
    steps:
      - uses: actions/checkout@v3
        with:
          submodules: true
          lfs: false
      - name: Set up API Key
        run: echo "API_KEY=${{ secrets.DATAVERSE_API_KEY }}" >> $GITHUB_ENV
      - name: Build And Deploy
        id: builddeploy
        uses: Azure/static-web-apps-deploy@v1
        with:
          azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_THANKFUL_HILL_0CC449203 }}
          repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
          action: "upload"
          ###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
          # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
          app_location: "/" # App source code path
          api_location: "" # Api source code path - optional
          output_location: "build" # Built app content directory - optional
          dataverse_api_key: ${{ secrets.DATAVERSE_API_KEY }}
          ###### End of Repository/Build Configurations ######


  close_pull_request_job:
    if: github.event_name == 'pull_request' && github.event.action == 'closed'
    runs-on: ubuntu-latest
    name: Close Pull Request Job
    steps:
      - name: Close Pull Request
        id: closepullrequest
        uses: Azure/static-web-apps-deploy@v1
        with:
          azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_THANKFUL_HILL_0CC449203 }}
          action: "close"

Datamining – letting Fabric do our dirty work

Our solution is all about making learning magic easier and more accessible for young wizards and witches out there. For this to succeed, the courses need to stay up to date and relevant. Since updating subject curriculums with new potions and spells everytime something new comes out is time consuming and not something the teachers can be bothered to do between flying their brooms, watching games of Quidditch, and saving the world from Dark Magic, we figured out that we needed to solve this problem for them.

Retriving data in Fabric using Data Pipelines

We are using external data sources from Potter DB (potions & spells) and importing them into Microsoft Fabric with Data Pipelines, storing them in a datalake.

image.png

A copy data step in Data Pipeline retrieves data form external data source:
image.png

Retrieves data from external source using the endpoint https://api.potterdb.com/v1/potions
image.png

Stores the data in our lakehouse in a table called Potions:
image.png

Maps all fields from the external source and to the destination table:
image.png

Retrives data from the Potions table in our lakehouse that has been updated from an external source, and later used to import to Dataverse:
image.png

Using Service Principle to connect to our Dataverse Environment and upserting (update or create) records in our Dataverse Potion table:
image.png

Mapping the fields from the Datalake and the Dataverse table and upserting it to Dataverse:
image.png

After running the pipelines it updates our Potions table in Dataverse:
image.png

And there we have it, no need for teachers and staff to stay updated on the release waves for new spells and potions, it will all be automatically updated in the systems and arriving straight to everyone’s Mystic Mentor app.

That calls for the Dataminer badge, doesn’t it? 🪨⛏️

Spreading Magic and Cheer: PowerPotters’ Hogwarts Experience at ACDC 2025!

Greetings, fellow witches, wizards, and magical tech enthusiasts! 🧙‍♀️✨
The ACDC 2025 challenge is in full swing, and Team PowerPotters of Cepheo is casting more than just spells—we’re spreading joy and Hogwarts magic to everyone around us! From enchanting costumes to a community-wide Harry Potter quiz, here’s how we’re bringing the wizarding world to life and keeping spirits high.


🎩 Happy Campers: Living the Harry Potter Theme

To truly honor the magical theme of this year’s hackathon, we’ve fully embraced our inner Hogwarts students with:

  • Costumes: Decked out in capes, house scarves, and ties, our team has transformed into students straight from the halls of Hogwarts. Whether it’s Gryffindor, Slytherin, or Ravenclaw, our team is making the Harry Potter vibe unmistakable.
  • Magical Props: From our glowing fake fire to other wizarding decorations, we’ve turned our space into a mini Great Hall!

🧙‍♂️ Community Champions: Uniting Wizards with a Quiz

In the spirit of camaraderie, we hosted a Harry Potter-themed quiz for the entire hackathon community, using the official Harry Potter Trivial Pursuit game as our guide. Participants tested their wizarding knowledge with challenging questions like:

  • “What is the effect of the Diffindo charm?”
  • “What object hangs in the front window of the Knight Bus, periodically making comments??”

The quiz was a hit! It brought teams together for a moment of light-hearted fun, sparking laughter, debates, and a shared love for the wizarding world. And we received proof that the jurors (or aurors?) enjoyed it on the awesome ACDC Hogwarts platform.


✨ Why We Deserve the Badges

Community Champion

  • Proactive Engagement: By running a community-wide Harry Potter quiz, we went beyond our own team to engage and entertain everyone at the hackathon.
  • Positive Energy: The quiz created moments of connection between teams, adding a touch of light-heartedness to the intense competition.

Happy Camper

  • Themed Immersion: Our Harry Potter costumes and props created an immersive Hogwarts-inspired experience, bringing the hackathon theme to life.
  • Team Spirit: We’ve not only kept our team energized but have also shared that enthusiasm with others, inspiring participants to embrace the magic of ACDC 2025.

🔮 Spreading the Magic

With every cape swish and quiz question, we’re keeping the Hogwarts spirit alive at this year’s challenge. Whether it’s our costumes, props, or activities, Team PowerPotters is here to show that innovation and fun go hand-in-hand!

Follow our magical journey as we continue to brew solutions and spread joy: acdc.blog/category/cepheo25/

#ACDC2025 #CommunityChampion #HappyCamper #TeamPowerPotters #MagicInTheMaking