Shiny, glossy user interfaces would earn this badge, it won’t break on small screens right?
So, at the request of the judges, we will shed some more light on our app, its UI and super glossy pixels.
The app is made in vue.js and contains three main components:
The ThreeD component, responsible for rendering our 3d parrot
The FormUI component, responsible for rendering text and input
The Camera component, responsible for gathering camera input, object detecting and debug interface
The ThreeD Component
In this component we use troisjs and three to setup a scene containing camera, lights, our parrot model, and positioning this to match the rest of the UI.
As the model we are using contains all the different animations inside on animation sequence, we have to split it up into different actions, like idle, scream, takeoff etc.
The FormUI Component
In this component we use vue template logic in combination with CSS and stolen borrowed texture to create the interface for providing instructions and gather inputs. We also managed to sneak in the actual font borrowed from The Secret of Monkey Island, after battling with getting ttfs converted to woff🐶.
The Camera component
The camera component is not seen on the screen and does not directly contribute to the UI. However when for debugging we’ve build a little UI to show the detected objects.
Tensorflow can run in the web browser, and is able to both detect persons and other objects like bottles.
ChatGPT to create PirateNames
We have already blogged about how we are usting OpenAI’s DaVinci model to generate Pirate Names here
Here we use the following prompt
Create a creative and cool pirate name from the name "{firstname lastname}". Do not use the word "captain". Answer only with the name - max 3 words. Only output text characters a-z, no special characters!
Hipster-ish technology
Making this we leveraged vue.js, pinia, three, troisjs, tensorflow, ChatGPT. The list goes on 😉. All pretty hip, (almost) non-ms technology.
Badges
We hope this sholud be sufficient for getting the AI- and Hipster badge 🏴☠️✌️🦜
When we went to the dinner friday evening we discovered a serous security incident at our friends and good neighbours at the PowerPirates of AxData. Two of their team mebers had forgotten to lock their computers!
It seemed like their were logged on their systems. Instead of doing as ordinary pirates 🏴☠️probably would do and destroy all their things we did THE RIGHT THING and locked their computers using the very special keyboard combination (Windows + L) ❤️
❤️All the best to the Power Pirates from the Sabeltanns❤️
An important part of Pirates 365 Recruit is the onboarding flow:
The super-popular Pirate Recruitment Terminal (PRT) give a lot of leads, and it is important for the HR team not use too much time onboarding the pirates
We have created a Power Automae flow that automates much of this, with the following features
Add newly generated Azure AD user to Azure AD group
Send SMS to recruit with login info and link to learning game
Power Automate Cloud Flow Overview
Creating Leads in Dataverse
After the pirate name is generated a lead is created in Dataverse
Usling Leads in Dataverse the recruitment team can collbaorate on the candidates – all integrated in the Recruitment Teams Channel.
Creating Adaptive cards
We are also posting adaptive cards to the team, and is possible directly from the adaptive card to accept the pirate recruit to go further down in the recruitment proccess
Create users in Azure AD, assignment to security roles and licenses
After the recruit is accepted the newly hired i created in Azure AD and given proper licenses and permissions
We are using Azure AD Security groups to dynamically assign licenses to the newly accepted pirate recruits
Here we see that they get Dynamics 365 Customer Engagement licenses – so they can use our powerapps with a lot of fancy premium features✌️
Last but not least – telling the newly hired pirates how to login by sending a SMS
After all this we need to notity the pirates how to log in
We send a SMS using the Norwegian SMS-provider “Sveve” which have a simple API.
We send the username and the generated password (which the recruit must change on first login)
A link to the pirate training is included, so the pirate can train to be a worthy pirate
Badges
We think this solution may qualifty for
Feature Bombing by using five different services in one flow
Power User Love by using a nice combination of Power Automate, Microsoft Teams and Dynamics 365
Stairway to heaven by using Azure AD API; Dataverse API and Teams API
Recruitment is an important, and integrated part of Pirates 365, to acquire the best talent for our crew. To help us with this we have developed The pirate recruitment terminal(PRT). This solution provides us with a visually appealing and an engaging experience to gather new recruits.
PRT User flow
Since pirate recruits normally aren’t that familiar with modern interfaces, we have chosen a living parrot to help and guide the user and provide a smooth user experience.
When a pirate is detected, our engaging parrot approaches the pirate and presents the sign-up option. We collect personal details and complete the process by taking a picture. The collected data is then sent into the platform for future processing.
The Pirate recruitment terminal technology stack
PRT The app is running on the vue.js progressive javaScript framework with Pinia🍍 for state management. For the 3d animated parrot🦜 we are using three.js and TroisJS with WebGL rendering. For AI vision👁️ and object detection🤠 we are running tensorflow under the hood. If available the model is running on GPU, if not we fall back to CPU.
Images, 3d model, fonts is stolen captured on the internetsea.
Bacground: When recruiting potential pirates we want to give them proper pirate names. Pirates 365 is a service oriented platform, and the recruitment frontend posts potential new pirates through a Pirate
Our solutions is using Power Automate and the HTTP Trigger to accept new pirates
We are using the OpenAI (independent publisher) step found in Power Automate (https://learn.microsoft.com/en-us/connectors/openaiip/) since it is yet not so easy to get access to Azure Open AI which probably would be better.
We had to do some tuning to get a little bit different answers – at first it just returned “Captain firstname lastname”, but after some tuning by setting down the temperature from 1 to 0,7 and explicity saying not to use the word “captain” we got the desired result.
We are creating the new pirate recruits as Leads in Dataverse so the recruitment team can contact them for possible empolyment
Here is the lead created in Dataverse shown in the “Pirate 365 Manage”, ready to be qualified as a proper Pirate!
We aim for the badges “go with the flow” for using Power Automate Cloud Flows and “The Extstential Risk” for innovative use of AI
Welcome to Pirates 365: A Comprehensive Pirate Management System
In this era of innovation and technology, it’s time to take the pirate world by storm with a new, cutting-edge system that will revolutionize the way pirate fleets are managed. Introducing Pirates 365: a one-stop solution for pirate management, from recruitment to send-off.
Pirates 365 is a comprehensive, end-to-end system designed to streamline the entire pirate management process, from the recruitment of new pirates to their training and management, and finally, their send-off. This system is built using Teams, Dataverse, and Power Apps, ensuring that it is both user-friendly and highly efficient.
Pirates 365 is made up of several modules, each designed to meet the specific needs of the pirate management process. Let’s take a closer look at each of these modules:
1. Pirates 365 Recruit: Recruitment of Pirates
Pirates 365 Recruit is the first module of the system and is responsible for managing the recruitment of new pirates. This module streamlines the recruitment process, making it faster and more efficient. With Pirates 365 Recruit, you can easily manage applications, resumes, and candidate information, ensuring that you can quickly and efficiently find the best pirate candidates for your fleet.
Here we want to use a webapp using vue.js, and running it on an ipad. Here we can take pictures of the potential recruits and upload them to our recruitment system
2. Pirates 365 Learn: Pirate Training – Pirate Simulator
The second module of Pirates 365 is Pirates 365 Learn, which is responsible for training new pirates. This module includes a pirate simulator, designed to help new recruits get up to speed on the skills and knowledge needed to become successful pirates. With Pirates 365 Learn, you can ensure that your pirates are well-trained and ready to embark on their pirate adventures.
We aim to create a Pirate simulator using our shiny Logitech C920 Steering wheel and the state of the art Game Engine Power Apps (Canvas Apps).
3. Pirates 365 Manage: Pirate Fleet Management
Pirates 365 Manage is the third module of the system, and it’s responsible for managing the day-to-day operations of your pirate fleet. This module includes tools for tracking pirate performance, managing assignments, and monitoring fleet resources. With Pirates 365 Manage, you can easily keep your fleet organized and running smoothly, ensuring that your pirates are always ready to set sail on their next adventure.
4. Pirates 365 Refine: Pirate Offboarding
Finally, Pirates 365 Refine is the last module of the system, responsible for managing the send-off of pirates who have completed their service in the fleet. This module includes tools for tracking pirate performance, managing the offboarding process, and ensuring that all necessary information is captured and stored. With Pirates 365 Refine, you can ensure that your pirate send-off process is efficient and smooth, allowing you to say farewell to your pirates with the respect they deserve.
The Architecture of Pirates 365
In this chapter, we’ll take a closer look at the architecture of Pirates 365 and how its components work together to create a comprehensive pirate management system. Whether you’re a tech-savvy pirate or simply looking to understand how the system operates, this chapter will provide you with all the details you need to know.
The architecture of Pirates 365 is designed to be highly efficient and scalable, ensuring that the system can accommodate the needs of pirate fleets of all sizes. At the heart of the architecture is Teams, Dataverse, and Power Apps, which work together to create a seamless and user-friendly experience for pirate fleet managers.
The architecture of Pirates 365 is comprised of several components, each of which is designed to perform a specific function. These components include:
Teams: Teams is the foundation of the Pirates 365 architecture, providing the communication and collaboration platform for pirate fleet managers. With Teams, you can easily share information, communicate with your team, and manage projects in real-time.
Dataverse: Dataverse is the underlying database that stores all of the information and data related to the pirate management process. Dataverse is highly scalable and secure, ensuring that your data is protected and always available when you need it.
Power Apps: Power Apps is the front-end interface for the Pirates 365 system, providing a user-friendly way for pirate fleet managers to access and manage the system. With Power Apps, you can easily create custom apps that are tailored to your specific needs, ensuring that you have all the tools you need to manage your pirate fleet effectively.
Each of these components works together to create a seamless and efficient pirate management experience. Whether you’re recruiting new pirates, training your crew, or managing your fleet, Pirates 365 provides you with the tools you need to get the job done.
Conclusion
In conclusion, the architecture of Pirates 365 is designed to be both efficient and scalable, ensuring that it can accommodate the needs of pirate fleets of all sizes. With Teams, Dataverse, and Power Apps at its core, Pirates 365 is the ultimate solution for pirate fleet management.
Pirates 365 is the ultimate solution for pirate management. With its comprehensive set of modules, you can streamline the entire pirate management process, from recruitment to send-off. So why wait? Join the pirate revolution today and take control of your pirate fleet with Pirates 365!