Nasty hackers

Bits edition: 01101110 01100001 01110011 01110100 01111001 00100000 01101000 01100001 01100011 01101011 01100101 01110010 01110011

In addition to our letter, glue stick “strikk og binders” hack, we had to resort to another hack..

We had wanted to run our Python Flask app in Cloud, but turns out it’s not that easy to control an Arduino from Azure.. So we had to resort to running it locally, but exposing our endpoint through a third party called ngrok to get it to work:

This hack makes it possible to call a local API from the outside!

No room for code with low ambition!

Does the code contain lines with low ambition? No worries, we’ll catch those nasty lines in a PR from a feature-branch into the main-branch, with a proper peer review process.

Commits on the main-branch will trigger a GitHub Actions workflow, using GitHub Secrets to retrieve tokens used in the build-process; and automagically deploying the finished build to our Azure Static Web App.

We love existential risks!

The existential risk is real! As Slytherins there is nothing we would love more than a bit of chaos. So of course we take all risks and use AI!

We use Azure service APIs for both prompting and text-too-speech combined with pro-code run in our Python Flask app:

The chat completion prompt goes as follow:

You are an assistant that helps transform a text to a specific tone of voice.
It is supposed to be a letter read out loud.
Start with greeting the recipient and end with goodbye from the sender.
If appropriate, add references to the Harry Potter universe.
Keep it short.

This prompts adds a dazzle of Hogwarts magic to each message;

Original message:
I don’t like you anymore. You have proven to be untrustful!

Magically transformed message:
Oh, how the tides have turned! I find myself in a whirlwind of emotions, and I must confess, I don’t like you anymore. Your betrayal stings like a Cruciatus curse, and it’s clear you’ve proven to be utterly untrustworthy!

After obtaining the magically bedazzled message, we run text-to-speech from Speech Services to magically transform the written message to speech in your preferred tone:

Power to the developer, and MAGIC!

When a pro-code developer creates magical code, we low-code developers need to assist where we can to speed up the work. We have created a good solution based on Azure AI Services, where we send data from Dataverse via Power Automate to a Python Flask app that translates everything we send into a message delivered to our Howler. Given the time we had, this would not have been possible.

The physical Howler integration is approaching, and the Arduino is working hard. It’s put together by paper, tape and glue. And much love! Here we have an example of what we have in store:

An example of translation and delivery of message follows:
“I don’t like you anymore. You have proven to be untrustful!” -> “Dear Sirius,

Oh, how the tides have turned! I find myself in a whirlwind of emotions, and I must confess, I don’t like you anymore. Your betrayal stings like a Cruciatus curse, and it’s clear you’ve proven to be utterly untrustworthy!

How could you, of all people, turn your back on family? It’s as if you’ve taken a page from the Marauder’s playbook, but this time, it’s not a prank—it’s a dagger to the heart!

Desperation claws at me, and I can’t help but feel the madness creeping in, like a Dementor’s chill. You’ve left me no choice but to sever the ties that bind us.

Goodbye, Sirius. May you find your way back to the light, though I fear it may be too late for you.

Yours in fury,  
Bellatrix”

Our architecture

LinkMobility & Logiquill Love story

We love to get this challenge from the sponsors! And with getting to know those, we got an immediate idea. Kudos to @linkmobility!  

Given our workflow, Wayfinder academy offers a Logiquill portal. That portal is used to make an application, upload some documents, schedule and run an interview, and all of that is used to allocate a student to the new faculty. Once that it done, we still believe there is a huge asset in all of that information and therefore, we want to use it further to follow up the student in his or her integration/adaptation journey.  

We store all the data in Sharepoint (we love it!) and also set up some automated workflows (we describe it in the different artcle). 

There are several things we do, and one of those is personalized sms.  

As a notification service our platform uses Link Mobility for sending sms messages to the students with some daily reminders, encouragement, motivation, tips and tricks (based on all the info we collected about the student). For this purpose, we are using an Azure function that receives message and the number of students. 

Our Azure function is written in C# and has a Http triggered function that receives the data necessary for sending sms messages. Link Mobility uses Basic and Oauth2 authentication, and we used the last one is it is more secure and reliable.  

In addition we will make time triggered function, that has own schedule, and will refine all records of the students that are stored in sharepoint.  

If you are also wanting to use this wonderful and easy to use API in addition to the username and password you need also to specify correct Uri, PlatformId and PlatformPartnerId. 

platformId”:”SMS”, 

platformPartnerId = “lHGdgewX” 

The most simple message look like this: 

In documentation to Link Mobile API we found these Urls: 

So, we were the first one to try and it was successful 😊 

As an addition we will try to receive a delivery reports. The delivery report Uri also could be configured in the message as a property 

“deliveryReportGates”: [“{our response URL}”] 

Unveiling Hidden Feelings with the Magic of AI

NOTE TO THE JURY: we have taken your comment in and added details in the bottom of this article.

In our Wayfinder Academy, we take a comprehensive and magical approach to understanding the student’s history, aspirations, and potential to recommend the best possible new school. The process is detailed, thorough, and personalized, ensuring the student is matched with an environment where they can thrive.

Just to remind the process, here we assume a student who didn’t feel right about their current faculty, filed an application. Immediately after that we request the tabelle from their current faculty (historical data), ask a student to upload some photos from most memorable moments, and then invited to an interview. While we are still working on the interview step and will share the details later, with this article we want to add more details about one of our approaches to mining extra insight from the student’s interview by analysing the emotions. 

We use this emotional recognition along with the interview, to get 360 degree insight on the student`s reaction to the questions, that are designed to figure out their values, aspirations, fears, etc we can use to calculate the probability of their relation to the faculties and identify the one with the highest score (the scoring approach will be shared in a different post).

So, we are using a video stream capture to record an interview session and extract the emotional dataset.  

It allows us to receive one more dimension that will extend standard datasets of the student, such as feedback, historical data from previous schools, etc. 

We use the imentiv.ai API to analyze the video and grab the final report. We then make the final dashboard in Power BI (we love it)

and embed it into OneLake. 

Imentiv AI generates emotion recognition reports using different types of content, such as video, photos, text, and audio.  

We implemented the single-page application to create an interactive experience by recognizing the emotions in the image captured via the webcam on our tablet. The analysis of the video stream takes more time, so we will demonstrate it later.  

The app consists of two parts: a PoC to recognize the emotions in a photo from a webcam and an example of an emotion recognition report. 

To build that PoC application, we decided to use the NodeJS stack. The engine is based on Bun, which is a modern and highly effective alternative to NodeJs. Compared to NodeJs, Bun was written with Rust. 

For the front end, we are using React and ChartJs. We are hosting the PoC on our laptop. To make it available to the public internet, we are using CloudFlare tunnels. It also covers the SSL certificate termination, so your service will be secured by default without any significant effort. 

The app server and the client app run inside a docker container, so you can deploy easily with a single command: docker-compose up—build. 

To optimize the final container size and improve the speed of the build, we are using docker files with two stages: one to build the app and the second one to run the final artifacts.  

PS:

Badges we claim:

Thieving bastards   – we are using third party platform to recognize emotions in video and photo.  

Hipster – we use BUN to run the application 

Hogwarts Enchanter – we use Mystical AI  imentiv.ai API to grab the emotional reports and visualize it in an user friendly way (see the screenshot above). Our enchanted workflow is using the data and making it available in OneLake. Wizarding world becomes closer when we see the AI based deep insight from various data sources in one place, in easy to read and interpret format.

Right now – we are using web socket server to implement real time communication between client and server site.  

Client side salsa – we use React to implement front end.  

PS2: pls come over to our camp and test it out! We want to know how you feel! 🙂