Powering the final solution

The summarized solution

We went out on a mission to elevate the businesses of Diagon Alley by improving the customer experience and creating a solution to help the business automate their day-to-day tasks and improve their efficiency and revenue. As a way of simplifying the development, we have chosen to focus on the local pet store as proof of concept solution, but always with plans of expanding in the back of our heads

In our attempt to move the store lines to the cloud, we have a given the customers a Power Portal website where they can sign in to order pets, food and cages, select a preferred estimated delivery time in addition to the cost of individual items and in total. To help the customers use this site, we have also developed a “magic” mirror that gives recommendation for a pet and provides a QR-link to the registration form with the suggestion automatically set.

The customers can also get an easy access to the website using our “magical” smart mirror known as “Mirror of Noitceles”. While standing in front of this mirror, a camera will take their picture and, using Azure Open AI, will recognize facial features and come up with a suggestion for a pet. They will also be given a QR-code they can scan that provides them a link to the registration website with the recommended pet already set in the registration form.

By using the Power Platform to create the solution, we have created an easily accessible solution that could be implemented into Teams and therefore by available for business owners that works on the floor all day. This way, we also can provide an integrated connection with SharePoint and their documents handling and simplify communication by implementing textmessage, phonecalls and pre-made Power App components.

This also gives an easily maintained database in the shape of Dataverse, and by synchronizing this to Fabric we also have solid foundation for adding future modules that can improve the experience by sharing data between different businesses and develop complex AI-solutions that will improve their experience and return of interest further.

We also recommend further reading at https://www.behance.net/gallery/217701961/Mirror-of-Noitceles-Making-every-selection-magical

Category: Fabric Fera Verto

As the business using our solution, and their customers, are registering data into Dataverse, we are synching this into Fabric in the backend part of the solution. To maximize the value of Fabric, we also have connected an Power BI report that displays the data we need to improve the solution in the best way possible.

By doing this we are creating a massive data collection that can be used to improve the solution between business and train AI-models to create an even better solution and modules to add on in the future.

Category: Low-Code Charms

Our solution is mainly taking advantage of the magical powers within the low-code Power platform. We are using Power Pages to maintain a website for customers where they can register their order to the store. This is also connected to our smart mirror that recognized customers, suggest a pet based on their appearance and provides them an QR-link to this website with the suggested pet already selected.

We are also using a model-driven Power App to maintain the data within the Dataverse, and allows the employees to handle the customers order. They are able to see all orders, pets, and type of food in a entity-view (tables) – as well as an Admin-form with a kanban-board (thank you Resco) for updating Order-statuses and see the sales-stream, and a PowerBi-report (connected to Fabric). The store owners also have an “Admin”-page set up with an overview of available pets, their aisle location and more, with the possibility to register new Pets as they become available.

The solution is further improved by using Power Automate to automate tasks that that usually takes unnecessary time, like sending and receiving text message or generate supplier agreements in SharePoint and sending supply orders.

Category: Pro-Code Potions

As a lot the customer functionality is handled by low-code solutions, the heavier aspects of the solution is handled in the backend using more traditionally coded functionality.

We have a Raspberry Pi configurated with the “Magic mirror” node.js solution (https://magicmirror.builders/), and have improved this by adding and adjusting modules, including a list view of a Dataverse table and the generation of QR-code that send customers to the ordering website. We also have adjusted the Power Pages website by using jQuery to implement URL parameters so the suggested pet shows up automatically.

We have set up a scraping solution to the Harry Potter Wiki-page to integrate data from this universe, and are using the external python package “Cv2” to handle API’s for facial recognition. Oth er technologies we have used are msal, axios, Flask and Websockets.

Category: Digital transformation

As a lot the customer functionality is handled by low-code solutions, the heavier aspects of the solution is handled in the backend using more traditionally coded functionality.

We have a Raspberry Pi configurated with the “Magic mirror” node.js solution (https://magicmirror.builders/), and have improved this by adding and adjusting modules, including a list view of a Dataverse table and the generation of QR-code that send customers to the ordering website. We also have adjusted the Power Pages website by using jQuery to implement URL parameters so the suggested pet shows up automatically.

We have set up a scraping solution to the Harry Potter Wiki-page to integrate data from this universe, and are using the external python package “Cv2” to handle API’s for facial recognition. Oth er technologies we have used are msal, axios, Flask and Websockets.

Category: Magic Matrix

We are using a combination of Teams and Power Platform to create a magical solution for businesses and customers. We have document handling in SharePoint, Customer communication with phone calling and text messages in Teams as well as a good integration with Power platform

Hacks to get past you guys!

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

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

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

Sorry!

In the Hogwarts style

Cool looking stuff! Ever wanted to get into the Gryffindor common room? Well, let me introduce you to the Fat Lady:

She even moves around! (come see us for a live demo). What better way would it be to introduce new children to their school-life long companions?

When no person is detected in the mirror, the Fat Lady invites you in to get your photo taken. She is welcoming and gives greetings. Entering the mirror, you are awarded your animal after a quick think of the magic. Me myself I got an owl. No wonder, since my middle name is Harry!

Luckily, I can also get food and a cage for my animal pretty easily, but this flow isn’t as magical.

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.

Automating the deployment of a IOT-device isn’t just yaml.

Although we need stuff to happen after our build, it is more complicated. We have a server running that needs to receive a message and then make sure all new dependencies are installed and the code is restarted.

We have our usual deploy.yaml in our Github Actions. It makes a post request to our own API that needs to run some OS commands on-device for everything to update properly.

But we do in addition need our IOT device to capture this request and ensure it is updated. Also, please don’t take more time then what is required!

Pet points

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.

The most Wonderful Team of them All

It sure is nice to have a good chill around a cozy campfire, late in the evening when the sky is dark. Early in the year, while the snow is still out. Up here at Soria Moria we have created our own cozy little camp, even though no fires will be allowed in the work areas. We bring laughter, joy, jelly beans, cool outfits and gadgets. Candy, outfits and gadgets are obvious and they obviously make a good campsite.

What about Miss Dolores Umbridge from yesterday Thursday and sunday, anyone remember her? She has been spotted entering the train at Platform 9 3/4 along with two students.

And what camp would be complete without a couple of muggles to make fun of?

Plastic fantastic and everything is toys and lego. And trains. Who doesn’t love trains? I know everyone wearing a Platform 9 3/4-lanyard does!

One thing we definitely know that every participant in any sports or competition likes is getting a little help when times look rough. Working in the IT industry we all know that it’s all about the amount of information and knowledge we can deliver together that is our value, not any one single person. So why not ask – and why not give each other a hand when you run into problems you haven’t faced before?

Last week I ran into a problem I had not faced before. I did however face fear when I saw I didn’t have a single ACDC-competitor around me to ask (yet). My problem was that I needed to have an app I was running locally to be available with an online endpoint. Little did I know that my peers could draw from my knowledge already this week! Judges – you said that team SlytherIN should put their API online for anyone to view. But they built their API to have the host machine serve the sound that was computed by their API. Well what do you know – my solution last week was theirs this week.

With the help of ngrok the team was able to set up a public URL that anyone with a internet connection and reach, causing code to run in their local machine. Lucky for me they were gratious and polite aswell. New friends! Yay!

Nothing makes for a better camp than hanging out with friends, dressed up, with toys all around. Except making more friends while you’re at it!

Who doesn’t love sponsors?

Composing with Resco components

Configuring components in Power Apps isn’t always the funniest thing in the world, so whenever there is a possibility to try some new ones that might gives us a better a experience. And when the creators helps us with a great ACDC experience, it is even better, and we loved trying out the Resco Kanban board and Datepicker components.

Texting with Link Mobility

In the modern day of technology, there is every kind of communication methods everywhere, but there is still one way you can reach everyon (for the most part): Text messages

So thank you to Link Mobility for giving us a method to reach out to, and get a respond from, all the customers of Diagon Alley

With Ctelo on the phone

And since it might be to complicated to message somethings, it is sometimes necessary to speak directly with someone. And thanks to Ctelo, we have the options to give the businesses a possibility to talk with their customers over the phone… From Teams