We managed to craft super cool gamified user experience. It look really cool and fancy. Will it suite for a real business scenarios, What do you think?


We managed to craft super cool gamified user experience. It look really cool and fancy. Will it suite for a real business scenarios, What do you think?


So we (Kim) already had a domain for “craycon.no” from before. We thought it would be a good idea to connect that domain to the developer tenant we setup for this ACDC hackathon.
However, what we didn’t know is that if you mess with the admin account upn/domain, that might have consequences for the developer environment – especially Azure and subscriptions.
When we tried setting up a subscription in Azure in order to setup a few things, like Azure Keyvault, logic apps, Azure runbooks etc – THERE WERE NO ELIGABLE SUBSCRIPTIONS.
We tried changing the domain of the developer tenant admin back to what it originally was but with no luck….
Will never do that mistake again #Dooh


The count of things we have broken is more things that are working as intended. No offense microsoft but it is mostly to blame on the backed, and totally not on the end user.
1: we have broken the integration to fabric from dataverse so hard the judges could not fix it.
2: We have broken azure so hard that when i own the subscription as owner, GA, and AI owner i still cant create Workflows in Microsoft foundry through the portal, but when i do it through sketchy powershell it works 1 out of 10 times. this also counts for creating agents, and models. something broke during the hackathon. what? why? We dont know.

The story
Hello Blog! We are so happy to be a part of this year’s ACDC Hackathon!

Sooo, on to our Early Delivery:
Our goal is to bring the Minecraft Fun to the physical world and get the players up on their feet, explore and mine(trying to help all hackers avoid health issues).

The miner finds a spawn point within the building, where they can scan and mine the resource, whoops if it is an actual resource.
We will have an information screen/dashboard where players can get an overview over the current statistics and where to find the resources. This will also include how much they have mined, and see if they are close to getting the prize.
To get valuable and quirky information about the data, we will use AI and this will be shown on our dashboard application. The dashboard will also contain lists, graphs and other information that will be valuable to the miners, and administrators of the realm.
Why
This is not just for fun, this is to show how we can use data, AI, web applications and Power Platform to solve real world business problems, create real value and learn from each other.
We are using AI as a tool to develop with Warp, chatGPT, Claude, Vibe.powerapps.com aswell as a part of the product itself.

Happy Building!!
In Hogwarts school of witchcraft and wizardry, everything is about getting points. And who wouldn’t a pet that could give (or take away) points?
So, by using our datadriven Power app, we made this an option and made sure it would sync between Dataverse, Fabric and display them in the mirror by retriving the data using javascript.




This is the first draft of or data model. Started looking at the Harry Potter Dataset and discussed in detail among us Wizards how the data should look like.
Pasted the tables below and this description into the Power Platform Plan Designer In our Ulrikke Potters Play Chamber environment – this environment is a play environment, because we do not want to use a preview feature in our other environments.
“Hello, we are building a way for wizards to collect Ingredients, and with the Ingredients they can make potions. When they make potions the wizards can go up levels, and spells gets available for them to use aswell. They will use a canvas app to scan the environment on spawn instances that will be created with power automate. The Ingredients will have a 3d model URL that will be used for the spawns. Could you please help me make the data model, below is what we have come up with.”
We also
Lets see what the plan designer comes up with – Scroll to the bottom of the tables.
| Field Name | Data type | Data type specification | |
|---|---|---|---|
| Level | Number |
| Field Name | Data type | Data type specification | |
|---|---|---|---|
| Ingredient | Lookup | Table: Ingredient | (1:N) |
| Quantity | Number | ||
| Contact | Lookup | Table: Contact |
| Field Name | Data type | Data type specification | |
|---|---|---|---|
| Potion | Lookup | Table: Potion | (1:N) |
| Quantity | Number | ||
| Contact | Lookup | Table: Contact |
| Field Name | Data type | Data type specification | |
|---|---|---|---|
| Spell | Lookup | Table: Spells | (1:N) |
| Mastered | yes/no | ||
| Contact | Lookup | Table: Contact | |
| Field Name | Data type | Data type specification | |
|---|---|---|---|
| Potion | string | Main column | |
| Ingredient | Lookup | Table: Ingredients | (N:N) |
| Effect | Text | Singe line | |
| Characteristics | Text | Single line | |
| Required Level | Number | ||
| image column | img | Primary image column |
| Field Name | Data type | Data type specification | |
|---|---|---|---|
| Ingredient | string | Main column | |
| Rarity | Choice | ||
| Image column | img | Primary image column | |
| Model Url | Test | Single line |
| Field Name | Data type | Data type specification | |
|---|---|---|---|
| Spell | string | Main column | |
| Rarity | Number | ||
| Required Level | Number |
| Field Name | Data type | Data type specification | |
|---|---|---|---|
| Ingredient | Lookup | Table: Ingredients | |
| Spawn Point | text/lookup? | – Hva AI builder produserer |

Accepted the user stories

The data model that came out of the plan designer – before doing changes.

The contact table should be used as the “wizard” table:

IT made a Contact table, a custom one. So that is a big big fail from the Planner.


Did not want any data in the tables. I asked the planner to remove the data, but it made the tables with the data anyways.

Another thing it did wrong, was to make an image column – it made it an URL column. I stated that it should be a primary image column. – So needed to do a clean up of the image columns in two tables.
Many to many relationship on potion to ingredients was not made

Added a model driven app to configure the Ingredients the potion needs to be made.

NEXT step – Export the solution out of the play environment and get it into or DEV environment.

Ok, so after import to the DEV environment – an unmanaged solution. We saw more problems with the data model. So we decided to Export a managed solution form the play environment and import that into the dev – delete, and do the process again.

Ok. So it does not work the way i want it to. It is almost there, but it can NOT change a URL column to an image column. And it can not use the standard contact table.
So decided to make it manually.
In a blend of innovation and whimsy, our team is excited to announce our claim to the “Dooh” badge, celebrating our venture into the extraordinarily useless yet fascinating realm of AI. We’ve dedicated hours to creating an adaptive AI personality for our Teams integration, a feature that, while seemingly unnecessary, showcases our creativity and willingness to explore the uncharted territories of AI development
Our adaptive AI personality in Teams is an intriguing paradox. It’s an advanced feature, designed to change its responses and interactions based on user input and context, yet it serves no practical purpose in a business environment. This unique attribute adds a layer of unnecessary complexity to the AI, turning standard interactions into a showcase of over-engineered ingenuity.
By venturing into this seemingly pointless endeavor, we embrace the spirit of innovation in its most unadulterated form. It’s a testament to our team’s ability to think outside the box, pushing the boundaries of what’s possible in AI, even if it means treading into the realm of the delightfully impractical.
“MMM.. is the ultimate tool for pirate captains looking to maximize their raids. With our comprehensive system, you’ll be able to plan, organize, and execute the perfect plunder. No more manual logs, no more disorganized crew. Just a streamlined, efficient process for taking what you want from the high seas. Upgrade your pirate game today with Maritime Mischief Manager.”

Pirates are met with a friendly user interface where they can manage all aspects of pillaging.
Under the “New Raid” menu, pirates with the rank of Captain can take a look at possible raid prospects and get an overview of the best possible strategy and also an estimation of the loot potential in the selected location.


The results we are seeing above comes from a query against the ChatGPT API with the use of Power Automate.

Being satisified with the current target, the Captain selects the vessel for the raid, choose to create it and the raid enters planning mode.

From the raid list, piratescan view raids in the planning stage. Simple pirates can choose to join a raid if they want to, but Captains can also choose to invite his best men. Pirates receiving an invitation will have to accept/reject the invitation through their Teams account.


Once the pirate has received and accepted an invitation, they have to scan their provided RFID card when they board the ship. They will then enter the status of Checked in.


Once the RFID card is scanned at the ship, a HTTP request is sent to the raid check-in flow, the flow will update the crew status.

When the Captain is happy with his band of criminals, he chooses to start the raid. The app conveniently simulates the battle as well, together with some nifty battle music. This is of course to save the hassle of actually raiding a place.


The pirate management team of course also have access to beautiful numbers of the entire operation


Virkeligheten er ikke helt slik vi ønsker at den skal være. Oslofjorden blir hver dag utsatt for ulike former for forurensning. I konteksten til ACDC illustrerer vi problematikken med at Ninja Turtles er naturens store beskyttere og skal finne måter å både å reagere på hendelser, og også å kartlegge tilstanden til fjorden ved å samle inn data over tid for at disse skal brukes i analyse. I fantasiverden oppstår det muterte skapninger som våre høye beskyttere skal verne oss for. I virkeligheten trenger vi systemer som varsler og kartlegger.
Oslofjorden er en fjord som går fra Skagerrak i omtrent rett nordlig retning inn til Oslo. Ytre Oslofjord går fra Færder fyr i sør til Hurumlandet, der fjorden deler seg i Drammensfjorden og Indre Oslofjord.
Ytre del av fjorden er 10–20 kilometer bred, og sør for Fulehuk fyr utenfor Nøtterøy er den nærmest et havstykke. I Indre Oslofjord, innenfor det rundt én kilometer brede sundet ved Drøbak, er fjorden bare tre-fem kilometer bred.

Visjonen er både av miljøpolitisk art, men dekker også et forretningsbehov. For hvert tiltak i fjorden må aktører av ulike slag stille med sin ekspertise. Målene her kan både politisk og forretningsmessig sammenfattes slik.
Gevinsten er primært av miljøpolitisk art, men har sekundære gevinster for både bedrifter som tilbyr utstyr og tjenester som må brukes for å nå målet.
Finansiering av tiltak for å drive miljøvern av det offentlige styres over statsbudsjettet. Samtidig finansierer staten innovasjons-tiltak som dette gjennom ulike former for tjenester gjennom Innovasjon Norge. I tillegg vil innovasjon og utvikling i det private markedet ha behov for private investorer.
Løsningen som Bombshells har skissert i løpet av ACDC har involvert bruk av sensorteknologi og innsamling av data fra disse. Dataene behandles og formes gjennom skytjenester og sendes videre til lagring før den brukes til varsling og analyse.

Diagrammet nedenfor generaliserer hvordan data fra ulike sensorer kontinuerlig sender data opp i skyen hvor den omformes til strukturerte data som kan lagres. I tillegg lagres de i en event hub som strømmer dataene rått videre til sanntid overvåkning.
De strukturerte dataene lagres i denne POC´en i Dataverse. I dette leddet brukes triggere til å plukke opp endringer i datatabellene og å plukke opp innholdet fra disse. Basert på innholdet brukes hele eller deler av endringen til å sende ut meldinger om hendelsen både til PowerApp, Teams og via SMS med støtte for eldre teknologi. Det lagrede innholdet oppdateres jevnlig inn i analysegrunnlaget for en rapport i PowerBI.

Lyd-sensor er en av typene sensorer som sender data opp i skyen. Spesifikt for lyd-sensoren sendes lydnivå som en del av datasettet. Sammen med dette sendes lys, temperatur, luftkvalitet, vannkvalitet, UV-stråling, tid og lokasjon til Azure. Recent data suggests a mega-mutant-monster has appeared!!! beskriver i mer detalj hvordan dette fungerer.
Registrerte hendelser

Hendelsene registereres fortløpende og formes om til strukturerte data i JSON-format som videresendes til en Dataverse-tabell.
{"eventType":"enviromental","latitude":"59.977874","longitude":"10.636827","soundlevel":"63","pirdirection":"e","soilhumidity":"37","temperature":"26","timestamp":"143449","sonardistance":"286","uvlevels":"73","dustlevels":"82","waterlevel":"1"}
Manuell rapportering
Det er også tatt høyde for manuell registrering og ikke bare automasjon, for å samle inn data. Ved å benytte en app kan brukere også rapportere hendelser manuelt inn i data til samme datalag som mottar data fra sensorene, og med de dataene som telefonen eller tableten kan tilby. Lokasjon er en naturlig ting å hente fra enheten som kjører appen, slik som beskrevet her – Natively saving the environment! (and thusly the world)
Integrasjon og utvikling
Dataene som sendes inn både manuelt og automatisk går gjennom et integrasjonslag som inkluderer event hub, et api gjennom Azure functions og Dataverse API. Utvikling en av dette kjøres gjennom pipelines i Devops (Shell is power!), og sørger for best practice deployment hvor infrastruktur og kode konfigureres, bygges og valideres før endringer rulles ut.
Hver hendelse registreres som en rad i tabellen. En PAF plukker opp hendelsen og trigger en varsling til PowerApps, Teams og SMS som beskrevet i tidligere blogpost – Flowbombing Dataverse

Datasett and PowerBI-rapport
For å bygge meningsfulle rapporter filterer vi ut data som ikke er relevante og endrer datatyper slik at de fremstilles riktig.

Kolonnene i datasettet bygger opp tabellen og brukes som filtreringsverdier inn mot de ulike diagrammene. Spesielt relevant i denne rapporten er fargekartet som viser temperaturene og lokasjon for hvor enkelthendelsene har skjedd. I Dashes and numbers demonstreres det nærmere hvordan dataene kan brukes for å fremheve viktig informasjon, også i ulike flater som krever responsive løsninger.

Bruk av AI
Som del av risikovurdering er arbeidet med å kartlegge hvilke elementer som er utsatt for risiko. Bombshells har trent opp en AI til å gjenkjenne bilder av tre ulike arter skillpadder, som beskrevet i denne posten – Bombshells face an eksistensial risk. Disse dataene er tenkt brukt til å bygge opp en base som kartlegger tilstedeværelsen av en art innenfor et geografisk område. Når man kombinerer dette med data om sårbarhet for typer forurensing vil man kunne beregne risikoen for en art ved en hendelse og velge tiltak i henhold med alvorlighetsgraden.
Varsling og reaksjon
Når en hendelse er registrert og kvalifiserer som en hendelse som må følges opp, skal systemet automatisk sende et varsel slik at tiltak kan iverksettes. Power User Love to the people! beskriver hvordan Power Automate henter ut informasjon om hendelsen som er registrert og basert på innholdet sender ut varsel gjennom PowerApps, Teams og SMS.
Viktigheten av å få riktig informasjon frem til riktig mottaker, og ikke minst at den presenteres på en brukervennlig og tilpasset måte er svært viktig. Satt i en kontekst hvor man må rykke ut for å håndtere et miljøproblem spiller tid en viktig rolle for å forhindre at ikke problemet blir større enn nødvendig. Viktigheten av at man fremhever nøkkelinformasjon riktig vil ha en direkte innvirkning på evnen til å begrense skaden.

Et system som detekterer og sender ut varsel ved en hendelse er ikke noe revolusjonerende i seg selv. At en sensor trigger på en hendelse og sender en melding er ikke mer komplisert enn da vår venn Donatello monterte en snor fra godstolen foran TV og ut til kjøkkenet og monterte en bjelle i den andre enden slik at han kunne signalisere at han ville ha pizza uten å forlate rommet.
Det som derimot skiller systemet fra analogien er mengden data som samles inn, hvordan den rutes til riktig mottakere og hvordan ulik informasjon vises tilpasset mottaker og teknologien den formidles gjennom. Excellent user experience og Killer App løses ikke med glossy pixel perfect grensesnitt, men derimot gjennom hva du kan gjøre med informasjonen som vises i grensesnittet.
Oppgaven som brukeren av appen skal løse er å identifisere et rapportert problem, og handle i forhold til den informasjonen som formidles. Når et alvorlig utslipp i vann rapporteres er det relevant å se vannkvalitet, temperatur, fysisk lokasjon osv for å raskt gjøre en vurdering av risiko og alvorlighetsgrad. Når vi varsler om en hendelse og brukeren kan se PowerBI-visningen for mobil fremfor et helt dashbord som vil være naturlig på en operasjonssentral, hever vi kvaliteten og brukeropplevelsen. Most Extreme Business Value ligger først og fremst i dataene som samles inn, men selve gevinsten av dataene blir først tilgjengelig når visning i riktig kontekst er på plass.
Rock Solid Geeknes er i denne POC´en summen av alle komponentene som hver for seg har sin rolle, men som ikke gir gevinst før de kombineres i denne formen. Vi har koblet sammen ulike sensorer som samlet gir oss strukturerte data på et bredt område. Disse dataene spiller viktige roller hver for seg, men svært ofte spiller de en enda større rolle sett i sammenheng. Ved å kommunisere med skytjenester kan vi dekke et stort geografisk område og gi et situasjonskart som monitorerer og kartlegger data kostnadseffektivt og raskt.
Konklusjonen så langt er at det er mange faktorer som kan utgjøre trusler for miljøet og artene i Oslofjorden. Kunnskapen vi tilegner oss gjennom kontinuerlig overvåkning av hendelser og kartlegging av artsmangfoldet i gir oss verdifull informasjon som er svært viktig både for å reagere og å forutsi konsekvenser en fremtidig hendelse vil medføre.
Vi vet at en alvorlig hendelse med vannforurensing i Oslofjorden vil ha store konsekvenser for både miljø og arter. Paradoksalt nok vet vi også at et slikt utslipp ikke vil ha noen som helst konsekvenser for noen av skilpadde-artene. Det er nemlig ikke observert noen skilpadder i Oslofjorden. Og med det så claimer vi “Dooh”-badgen 😉
Skill Bombshells 2022