Final Submittion – OUR JOURNEY AT ACDC 2O26

Problem statement: We came to ACDC Hackaton 2026 with an ambition to solve the problem that exist in supply chain, that affects everyone involved. Global spare-parts supply chains are slow, fragile, carbon-heavy, and often fail when parts are obsolete, or manufacturers no longer exist.

Original Solution we wanted to build: CraftPortal replaces shipping with digital “crafting,” using AI and cloud technology to match, recreate, and produce parts locally- fast, resilient, and sustainable. It was, however, focused on the idea from ou perspective and plan to refine this concept during the hackathon.

Evolution Journey: and then happened why we love ACDC Hackaton for.

– “Put the Customer in focus”, said Sara on the opening day, our beloved judge on Digital Transformation category.

So, we worked on the idea to enrich our web application solution to include the ISV package and give our potetial customer with UI and UX they recognize well, namely M365, Power Platform, BizApps.

– “I love your futuristic concept…” said Mikael from Redstone Realm perspective and inspired us to combine Microsoft 365 / Dynamics 365, SharePoint, Teams, and Azure

“Simple code screenshot is not enough, show me how it solves your problem”, noted Keith (Code Connoisseur),  and we challenged the status Quo and wanted to generate bigger impact…. So what we did is

“Turn data into insights….”, reminded Cathrine from Data, AI and Analytics, and we revised our data model focusing to build a solid fondation for our solution, so we could start to map external data sources and motiveted us to explore RAG.

“Everything you have there has to be there for a strong reason” warned us Fredrik from Low-Code angle in the start, and we critically reviewed our ecosystem to follow strict focus on the power of the low code.

“No security holes” declared Scott on Governance and Best Practices and you don’t mess with Scott. No fluff, we need a proper best practice focused ALM and Governance for the whole application.

As a result of continued brainstorming during these 3 days, and dialogue, our refined Solution started to look like this: … scroll down:)

DIGITAL TRANSFORMATION

The Concept

Supply chains are slow, fragmented, and carbon-heavy. Parts ship across the world when they could be printed locally. CraftPortal changes this – a marketplace where recipes travel through the portal, parts get made nearby. Faster. Greener. Smarter.

Customer needs a part. Can they print it? Yes – browse marketplace, select blueprint from IP Owner, print, deliver. No – publish a tender, receive bids from Manufacturers, select, award, contract, they print, deliver. Two paths. Same portal.

We built two paths to CraftPortal. A SaaS web application for users who want to jump straight in. And an ISV package for customers who want CraftPortal wired into their Microsoft 365 environment.

Users choose: Web App or Power Apps:

Customers who prefer Model Driven App get a clean, familiar UI – the Power Apps experience they already know, tuned for digital inventory workflows:

But they can surely use our fancy web app. Vendors – IP Owners and Manufacturers – use the Portal interface. They browse public tenders, submit bids, upload recipes, manage contracts, track orders. All through Power Pages.

Value & Monetization

CraftPortal sits in the middle of every transaction. Recipe rented? We’re there. Part printed? We’re there. That’s the value.

Monetization options:

  • Subscription – monthly/annual access to the platform
  • Transaction-based – percentage per recipe rental, per tender, per print job

Or both. Base subscription for access, transaction fee for volume.

LOW-CODE

Low-Code: The Redstone Behind CraftPortal

We built CraftPortal in 3 days. A marketplace. Tender flows. Vendor management. Document automation. AI agents and Power pages portal. How? Low-code.

The Building Blocks are as follows:

Power Pages for the Portal. Model Driven Apps for back office. Power Automate for every flow. Copilot Studio for autonomous agents. Dataverse for data. Generative Pages for dashboards.

We wired it together with clicks, not code.

The Low-Code Highlights

  • Autonomous agents – Copilot Studio detects Dataverse changes, posts to Teams, triggers RPA
  • RPA integration – Power Automate Desktop opens Bambu Lab Studio and clicks Print.
  • Teams + SharePoint + Dataverse – Fully automated channel and document location creation via Power Automate
  • Generative Pages – KPI dashboard pulling live Dataverse data
  • OneFlow contracts – Power Automate creates and sends contracts for signature
  • Link Mobility SMS – Automated bid notifications
  • Custom Connectors – ISV package API integration
  • FetchXML Builder – Low-code query generation (we click buttons, it writes XML)

Deep Dives

Want the details? We documented everything here:

The Result

A full digital inventory platform. Built by a small team. In 3 days. Low-code made it possible.

CODE CONNOISSEUR

Low-code gets you far. But sometimes you hit a wall – a custom UI that doesn’t exist, real-time updates that Power Automate can’t handle, or an API that needs to be built from scratch. That’s when we switch gears. Pro-code fills the gaps.

We have various code projects and components in our solution:

  1. PCF Control. That allows customers to order the appropriate equipment that should be printed. Client Side Salsa | Arctic Cloud Developer Challenge Submissions
  2. Power Pages Portal. That manages turning basic Minecraft resources into different tools and help clients to find an appropriate vendor for printing adapts to all devices and screen sizes. Chameleon | Arctic Cloud Developer Challenge Submissions
  3. Web Portal for the 3D printer. Using this custom local web portal we manage our printer device. Crafting, Crafting, Crafting…. Category: Pro Code  | Arctic Cloud Developer Challenge Submissions
  4. Model builder app – which is helping customer recover lost recipes from the single shot; Right now – bring real-time data to the app | Arctic Cloud Developer Challenge Submissions
  5. Azure Function – used to communicate with the external vendor API. ISV Package – the missing link | Arctic Cloud Developer Challenge Submissions

DATA, AI, ANALYTICS

The Dashboard

Our CraftPortal KPI Dashboard brings it all together. Built with Generative Pages and React, pulling live data from Dataverse:

  • Summary cards – Total Projects, Open Projects, Total Bids, Wandering Traders
  • Project Status Distribution – Donut chart showing lifecycle states
  • Bid Conversion – Submitted vs selected bids
  • Win Rate by Trader – Performance leaderboard
  • Projects per Month – Trend analysis over time
  • Top Wandering Traders – Gamified rankings

Light mode. Dark mode. Minecraft item icons from the official API. Business intelligence with a blocky twist.

We built the foundation. Dataverse as our core. Power BI dashboards for KPIs – tender status, bid conversion, vendor performance, projects per month. Live telemetry streaming from our IoT-connected Crafting Tables via Azure IoT Hub. Real-time monitoring of print jobs, temperatures, and device health.

Last year we went deep on Microsoft Fabric – Medallion architecture, Data Activator triggers, the whole pipeline. We didn’t want to repeat ourselves.

The Vision

The vision was fun: a custom Knowledge-based Copilot powered by Fabric. Pull external data from the official Minecraft API (GitHub – PrismarineJS/minecraft-data: Language independent module providing minecraft data for minecraft clients, servers and libraries.)

via Azure Data Factory. Deploy a proper RAG pipeline – chunking strategies, metadata filtering, semantic search, hybrid search, custom retrievers. Debunk RAG the right way.

Unfortunatley, we barely finished the data platform in time. The RAG adventure stays on the roadmap.

Sometimes three days isn’t enough. But the foundation is solid. The diamonds are waiting to be mined.

GOVERNANCE & BEST PRACTICES

Essence

Our goal during the hackathon was to show the complex implementation of the project with different aspects of the implementation.

When it comes to even the industry focus switched to AI related topics it still requires advanced level of the solution design to enable existing services for the LLM.

That is why we mentioned advanced level technologies such as: Azure Local, Lighthouse, and IoT Hub.

At the same time complex solutions usually require more effort for implementation. By following best practices of each piece of that puzzle, we are increasing the overall success rate of the delivery. ISV Package – the missing link | Arctic Cloud Developer Challenge Submissions

REDSTONE REALM

We created our business solution using Microsoft technologies - Open AI, Azure DevOps LLMs, Azure Function, Outlook and Microsoft teams. Check out the article ISV Package – the missing link | Arctic Cloud Developer Challenge Submissions

By deliberately meeting and exceeding every requirement across Digital Transformation, Low-Code, Pro-Code, Data & AI, Redstone Realm, and Governance & Best Practices – while continuously refining our solution through your direct feedback – we believe CraftPortal represents the complete ACDC vision, and we thank the judges for challenging us, guiding us, and inspiring us to build something truly worthy of this win.

Thank you for ACDC 2026!

With love, team LogiQraft.

PS! We really wanted to share a PREMIERE of our final movie with you, before the official release so here you go https://www.youtube.com/watch?v=KV2p3FNTLNI

Democratization of the antient model crafting

We are happy to make the first version of API of the our Model Builder solution publicly available. You can use it in your own way, to reproduce items just for single shot.

The simple example of how to use it can be found here: https://api-logiqraft.futurein.cloud/api/swagger  

Usage Instructions: Create the Http triggered flow to receive the notification when task is completed. 

The payload will contain the address of the generated model: 

  ”event”: ”task.completed”, 

  ”taskId”: ”fd7ded63-542a-4c3c-93d0-90bff6954a14″, 

  ”status”: ”completed”, 

  ”modelUrl”: ”/uploads/models/fd7ded63-542a-4c3c-93d0-90bff6954a14.glb”, 

  ”timestamp”: ”2026-01-22T17:42:20.666Z” 

Right now – bring real-time data to the app

Category: Pro Code

In the our Model builder app, which is helping customer recover lost recipes from the single shot, We are using websockets to update the progress of the task for model crafting.

Technical details

For the backend implementation we are using bun ServerWebSocket implementation.

In the Frontend app, we have subscription to handle different events of the tasks:

Craft Portal KPI Dashboard – Metrics Explanation

 

This document explains the key performance indicators (KPIs) and visual metrics used in the Craft Portal dashboard. The dashboard is implemented using Generative Pages with React and integrates with Microsoft Dataverse for data retrieval. Minecraft API assets are used to enhance the visual design with authentic item icons. 

Theme & Display Modes 

The dashboard supports both Light Mode and Dark Mode.  

Light Mode: 

Dark Mode 

KPI Definitions 

1. Summary Cards 

These cards provide a high-level overview of procurement activity: 

  • Total Projects: Total number of Projects in the system. 
  • Open Projects: Projects currently open for bidding. 
  • Total Bids: Total number of bids submitted across all projects. 
  • Wandering Traders: Total number of registered vendors. 

2. Project Status Distribution 

A donut chart showing the distribution of projects by status (Draft, Open, Closed, etc.). This helps users quickly understand the current lifecycle state of all projects. 

3. Bid Status Distribution 

This chart visualizes the ratio between submitted bids and selected (winning) bids, helping procurement teams evaluate bid conversion efficiency. 

4. Win Rate by Trader 

A horizontal bar chart displaying each trader’s win rate as a percentage of bids won versus bids submitted. 

5. Projects per Month 

This chart shows how many projects were created per month, allowing stakeholders to identify trends, seasonality, and workload distribution over time. 

6. Top Wandering Traders Leaderboard 

A ranked leaderboard displaying traders based on total wins. This gamified view encourages competition and makes vendor performance easy to compare. 

7. My Projects Table 

A detailed table listing all projects with sorting and search capabilities. Users can drill into and view individual projects directly from the dashboard. 

Dashboard Overview Screenshot 

Technical description for the Code Connoisseur category. 

Generative Pages with React 

This dashboard is built as a Generative Page component, which allows for dynamic, AI-assisted UI generation within the Microsoft Power Platform ecosystem. The component is written in TypeScript/React and utilizes: 

  • Fluent UI React Components (@fluentui/react-components) for base UI elements 
  • Custom Minecraft-styled components for visual theming 
  • DataGrid for tabular data display with sorting and filtering 

Microsoft Dataverse Integration 

The dashboard connects to Microsoft Dataverse using the dataApi prop provided by the Generative Pages runtime. 

Minecraft Item Icons 

All icons in the dashboard are sourced from the Minecraft API, a free public API that provides official Minecraft item and block images. 

https://minecraft-api.vercel.app/images/items

Feature Bombing, Here we go!

Categories: #Pro Code – we are using React and Type Script, Bun for the backend.  

We are using multiple functionalities on the single page of our portal for model building: 

1 – Image uploader control 

2 – Task list 

3 – Projection generation control 

4 – 3d model preview control 

5 – Download model control 

6 – Public sharing control 

Lost Ancient Recipe Recovery Tool 

In our concept, the 3D printer becomes a modern crafting table. (ref post Crafting, Crafting, Crafting…. Category: Pro Code  | Arctic Cloud Developer Challenge Submissions)
Just like villagers in a game world, our Customers can rely on recipes to craft almost anything they want. But what happens when a recipe is lost, discontinued, or no longer available on the market – and all you have left is a broken spare part

That’s where Model Builder comes in. 

The Problem 

Spare parts often disappear long before the products that rely on them. When something breaks, users are left with: 

  • No original CAD files 
  • No replacement parts 
  • No way to reverse-engineer the object without expert tools 

The Idea 

Model Builder is a recovery tool for lost recipes. 

A screenshot of a computer

AI-generated content may be incorrect. 
By using just one photo, the app helps users reconstruct a printable 3D model of a broken or unavailable object. 

How It Works 

  1. Upload a Single Photo 
    The user takes a picture of the broken item or spare part using their phone or camera. 
  1. Detail Enhancement 
    The app enhances edges, surfaces, and geometry, filling in missing or damaged details to make the object readable for modeling. 
  1. Model Generation Assistance 
    Based on the enhanced image, the tool assists in generating a clean, printable 3D model – ready to be refined or sent directly to the 3D printer. 
  1. Craft Again 
    The recovered “recipe” allows the user to recreate, repair, or improve the original object. 

The Vision 

Model Builder turns visual memory into manufacturable knowledge
Even when designs are lost to time or market changes, users regain the power to repair, recreate, and continue crafting – bringing true self-sufficiency to 3D printing. 

We are using the coolest technologies: Bun for the backend app, Gemini Nano Banana Api for Projection generation and Meshy.ai to generate the model from the projections.

Badge: Hipster

Crafting, Crafting, Crafting…. Category: Pro Code 

Crafting equipment in Minecraft lets you turn basic resources into useful tools, weapons, and armor. Better equipment helps you gather materials faster, survive dangerous mobs, and explore harder areas more safely and efficiently. 

With our 3D printer we print all things the Customer would like to order and using our custom local web server we manage our printer device.  

Web portal: 

Backend: The backend is written in TypeScript and runs on Bun, using WebSockets and HTTP endpoints to communicate with a Bambu printer via the bambu-link library, handling printer connection, status updates, commands, file uploads, camera snapshots, and cloud API proxying. 

Frontend: The frontend is a React + TypeScript single-page app, rendered via index.html, and it connects to the backend using WebSockets and fetch, providing a UI for printer control, status monitoring, file uploads, and cloud interactions. 

Let’s watch how it works for example if we want to turn on or/and turn off the Led light during the printing. 

This is our web interface. 

And demonstration how it works. 

Minecraft Procurement & Crafting Process 

This document explains the end-to-end process from the perspective of a player (Steve) using the Model-Driven App within the Minecraft-themed procurement and crafting system. 

1. Player Login (Steve) 

Steve is a player (user) who logs into the Model-Driven App. From here, Steve can manage Projects, Recipes, Crafting requests, and track all activities. 

2. Creating a Project 

Steve creates a new Project. A Project represents a request for a specific item or component that needs to be sourced or crafted. 

Within the Project, Steve specifies: 

  • Deadline (when bids should close) 
  • Budget (in Emeralds 🟩 / EM) 
  • Recipe or Component required 

3. Publishing the Project 

Once all Project details are complete, Steve publishes the Project, changing its status from Draft to Open. Publishing makes the Project visible to Vendors via the Power Page (Power Page will not be covered here). 

4. Vendors: Villagers & Wandering Traders 

Vendors are external parties who interact with the system via the Power Page. There are two types of Vendors: 

  • Villagers: Crafters and shippers who can manufacture (print) and deliver items. 
  • Wandering Traders: Providers of Recipes or Components, offering 3D-printable designs. 

5. Bids (Handled via Power Page) 

Wandering Traders can view published Projects on the Power Page and place Bids. A Bid includes the price for providing the requested Recipe or Component. 

Although Bids are created through the Power Page, all Bid records and statuses are visible to Steve in the Model-Driven App. 

6. Selecting a Winning Bid 

Once the deadline has passed, or earlier if Steve is satisfied, Steve selects a winning Bid. 

The selected Bid determines which Wandering Trader will provide the Recipe or Component. 

7. Contract Creation & Signing 

After a Bid is selected, a Contract is automatically created and sent to the winning Wandering Trader for signing. 

The Contract formalizes the agreement, including price, delivery expectations, and terms. 

8. Receiving the Recipe / Component 

Once the Contract is completed, Steve receives the Recipe or Component. At this point, Steve has two options: 

  • Print / craft the item themselves. 
  • Request a Villager to craft and ship the item. 

9. Creating a Crafting Record 

If Steve cannot or does not want to craft the item personally, they create a Crafting record. 

In the Crafting record, Steve specifies: 

  • The Recipe to be crafted 
  • The selected Villager 
  • Shipping details (not yet implemented) 

Villagers will charge an additional fee for crafting and shipping, which is tracked within the system. 

10. Visibility & Tracking 

Although Villagers and Wandering Traders primarily use the Power Page, all records, logs, and statuses are also visible to Steve in the Model-Driven App for full transparency. 

11. Recipes Management 

Recipes can be created in multiple ways: 

  • Automatically by selecting an item from the Minecraft API. 
  • Manually created by a player to define a custom Recipe. 

Recipes can be reused across Projects and Crafting requests. 

The Name column is implemented as a PCF control using Fluent UI React v9. When the magnifying glass is clicked, a modal window appears that calls the Minecraft API, allowing players to select a recipe and return its name, description, and icon. 

12. Summary 

This process creates a complete Minecraft-themed procurement and crafting flow. From Project creation, bidding, contracting, recipe sourcing, to final crafting and delivery. 

#low-code + pro code #category

PRO CODE category. Azure Speech recognition in Power Pages

Conducting surveys often involves tedious typing, which can be challenging, especially for students. To make the process easier, we’re leveraging Azure Speech Recognition in Power Pages to transcribe spoken responses directly into text fields. Students can simply speak their answers instead of typing them:

How It Works

Connecting Azure Speech SDK
To enable speech recognition, we connect the Azure Cognitive Services Speech SDK to our Power Pages using this script.

    HTML Setup for Speech Input
    We added a microphone button and a text area to capture and display the transcribed response. Here’s the code for the interface:

    Clicking the microphone button starts recording.

    The spoken response is transcribed into the text area.

    Saving Responses and Navigating
    Once a student provides their answer, clicking the Save & Next button saves the response and moves to the next question. Here’s how it works:

      Benefits

      • Ease of Use: Students can focus on their answers without worrying about typing.
      • Efficiency: Responses are saved automatically, and the survey flows smoothly.
      • Accessibility: Ideal for students with typing difficulties or those who prefer speaking.

      By combining Azure Speech Services with Power Pages, we’re simplifying the survey process and improving the overall experience for users. Speech technology makes surveys faster, easier, and more engaging!

      PRO CODE AND ALM MAGIC

      Part 1: Automating Azure Function App with Durable Functions and CI/CD Pipelines

      In our cloud infrastructure, we have designed and implemented an Azure Function App that utilizes Azure Durable Functions to automate a checklist validation process. The function operates in a serverless environment, ensuring scalability, reliability, and efficiency.

      To achieve this, we:

      Use Durable Functions for long-running workflows and parallel execution.
      Implement a timer-triggered function that regularly checks for missing documents.
      Deploy using Azure DevOps CI/CD Pipelines for automated deployments and testing.

      This post covers Azure Function App architecture, Durable Functions, and our CI/CD pipeline implementation.

      🔹 Azure Durable Functions: Why We Chose Them

      Our workflow involves:

       –Retrieving all checklists from SharePoint.
      Processing them in parallel to check for missing documents.
      Updating the checklist if documents are missing.

      We use Azure Durable Functions because: Stateful Execution – Remembers past executions. Parallel Execution – Checks multiple users simultaneously. Resilient and Reliable – Handles failures gracefully. Scales Automatically – No need to manage servers.


      How Our Durable Function Works

      Timer-Triggered Function: Initiates the Orchestrator

      This function triggers every 5 minutes, calling the orchestrator.

      What It Does:

      • Runs every 5 minutes using a TimerTrigger.
      • Calls ProcessCheckListsOrchestrator (Orchestrator function).
      • Ensures checklist processing happens automatically.

      Orchestrator Function: Manages Workflow

      The orchestrator is the brain of the workflow, managing execution and handling parallel processing.

      What It Does:

      • Calls GetAllUserCheckListsActivity to fetch checklists.
      • Executes multiple ProcessChecklistItemActivity functions in parallel.
      • Uses Task.WhenAll() to improve performance.
      • Logs errors and ensures fault tolerance.

      Activity Functions: Processing Individual Checklist Items

      Each activity function is responsible for a specific task.

      📌 Get All Checklists

      Retrieves all checklists from SharePoint.

      📌 Process Individual Checklist Items

      What It Does:

      • Retrieves missing documents for a user.
      • Updates the SharePoint checklist accordingly.
      • Handles errors and retries if needed.

      PART 2: Automating Deployments with Azure DevOps CI/CD Pipelines

      To ensure seamless deployment and updates, we use Azure DevOps Pipelines.

      📌 CI/CD Pipeline Breakdown

      Build Stage – Runs dotnet build and dotnet test.
      Deploy Stage – Uses Bicep templates (main.bicep) for infrastructure-as-code deployment.


      🔹 Azure DevOps Pipeline (azure-pipelines.yml)

      We use Azure CLI and Bicep for automated Azure Function deployment.

      main.bicep

      By leveraging Azure Durable Functions, we transformed a manual checklist validation process into an automated, scalable, and highly resilient system.

      With Azure DevOps CI/CD, we now have a fully automated deployment pipeline, ensuring high reliability and faster releases. 💡 Next, we will discuss a new business logic, SharePoint interactions, and integrations in a dedicated post. Stay tuned!