NASTY! If it doesn’t work, expose it to the world

Our original idea was to use Mineflayer with an MCP server to automate builds in Minecraft. But we had issues connecting this to online servers and making it efficient enough to be justified. We were successful in connect to local instances, but we wanted our solution to be fully in the cloud.

As a workaround, we instead use RCON to remotely connect to a live server’s console. From there we can easily send AI generate commands based on user input to very quickly create builds on a live server. All this despite the RCON wiki stating
“It is dangerous to expose RCON ports to the internet. RCON is not encrypted and can be a subject to man-in-the-middle attacks.”

We gather data from user input:

Run a prompt to generate commands using the new (preview) prompt columns in Dataverse.

And run those commands via a Power Automate flow that triggers an Azure function that connects to the live server using RCON and passes along the commands:

The big benefit is that we don’t need to send an virtual player into Minecraft to build the structures, RCON directly updates the Minecraft data, which means a build can take seconds over minutes, and again, fully operates in the cloud.

Nasty hacks? Absolutely. We are hardening the process by using non-standard ports and limiting IPs to just connections coming from our own machines and the Power Platform. Even then there needs to be additional work to fully encrypt and protect our Minecraft environments.

Our goal was to get running software, which was achieved. Connecting the Power Platform to Minecraft turned out the be much more challenging then first believed.

We feel dirty, nasty, and deserving of the Nasty Hack badge.

Dooh

For this hackathon we are using an old test tenant. While using the lovely little app PnP Search (I bet Mikael never heard about that one), I realised it was only uploaded 3 years ago, and never updated. No worries, just go to github and grab the newest version! However, while trying to update the app, we kept getting this stupid error.

What do you mean it is not the same name?? They are identical! I have uploaded the file, deleted it, downloaded it anew, and uploaded it 10 times now, and still I get the same error.

Luckily, there is the classic experience.

Hold the phone, did someone upload the original package with a (1) in the name? Christ on a bike, what kind of idiot would do something stupid like that?

Nevermind then.
Discovered and written by Gaute Kramvik.

Dashing and bashing

To make sure our employees make the right decisions if an resource report is good opportunity or not, we have crated a Power BI report that gathers all the existing data and presents them in a way they can easily read and understand. Making them better at decide if a registered request is something they should recommend or not. Using the good old Powershell scripts to create reports and saving data, thrive and thru Bice templates for deploying Azure resources and HTML to display them within the Power App and presenting them using the everlasting Power BI never goes out of fashion.

Hipster🤘

Building the Future with Multi-Agent Architecture and Model Context Protocol

The Challenge: Beyond Single-Agent AI

We wanted to build something that wasn’t just another chatbot. We wanted an AI system that could think, collaborate, and orchestrate complex workflows across multiple data sources. Single-agent systems are powerful, but they’re limited—they can only do one thing at a time, they struggle with complex multi-step tasks, and they can’t leverage specialized knowledge sources simultaneously.

We needed something cooler. Something that would make other developers say “wait, how did you do that?”

We needed multi-agent architecture with Model Context Protocol (MCP).

The Solution: Multi-Agent Orchestration with MCP Servers

We built a cutting-edge multi-agent system using Microsoft Copilot Studio, Model Context Protocol (MCP) servers, and agent-to-agent communication. Our solution demonstrates the hippest, coolest tech stack available: agents that collaborate, MCP servers that provide specialized capabilities, and a unified system that orchestrates everything seamlessly.

Here’s how we built the future.

The Architecture: Agents, MCPs, and Orchestration

Our multi-agent architecture looks like this:

User Query → Copilot Studio Agent → MCP DataAgent → Multiple Knowledge Sources → Orchestrated Response
     ↓              ↓                    ↓                        ↓                      ↓
  Question    Scrum Assistant    DataAgent MCP          Azure AI Search        Intelligent Answer
                                    Server              Fabric Semantic         Multi-Source
                                                         Model                  Synthesis

Each component represents the latest in AI technology, working together to create something greater than the sum of its parts.

Step 1: Model Context Protocol (MCP) – The Foundation of Agent Communication

Model Context Protocol is the newest standard for connecting AI agents to external systems. It’s like REST APIs, but designed specifically for AI agents. MCP enables agents to discover capabilities, invoke tools, and communicate with specialized servers.

What Makes MCP Hipster-Level Cool

1. Standardized Agent Communication

  • Agents can discover available tools dynamically
  • No hardcoded integrations—everything is protocol-based
  • Agents can adapt to new capabilities without code changes

2. Specialized MCP Servers

  • Each server provides domain-specific capabilities
  • DataAgent MCP Server for data operations
  • Azure DevOps MCP Server for DevOps operations
  • Custom MCP servers for specialized tasks

3. Tool Discovery and Invocation

  • Agents discover tools at runtime
  • Tools are self-describing with schemas
  • Agents can chain tools together intelligently

Our MCP Implementation

We configured a DataAgent MCP Server that connects our Scrum Assistant to multiple knowledge sources:

{
  "mcpServers": {
    "dataagent": {
      "command": "dataagent-mcp-server",
      "args": ["--workspace-id", "11d99e27-c621-4340-8eb8-7940714ae333"],
      "env": {
        "DATA_AGENT_ID": "8b9a6308-db2e-4c5a-9073-61c9205a7334"
      }
    }
  }
}

What This Enables:

  • The Scrum Assistant can query Fabric semantic models
  • Agents can access Azure AI Search indexes
  • Multi-source knowledge retrieval in a single query
  • Dynamic tool discovery and invocation

Result: Our agents aren’t hardcoded—they discover and use capabilities dynamically, making our system truly extensible.

Step 2: Multi-Agent Architecture – Agents That Collaborate

We didn’t stop at one agent. We built multiple specialized agents that can work together:

The Scrum Assistant Agent

Our primary agent, built in Copilot Studio, specializes in scrum ceremonies and backlog management:

Agent Configuration:

  • Model: GPT-4.1
  • Purpose: Support scrum team members in facilitating ceremonies, backlog management, and continuous improvement
  • Knowledge Sources:
  • Azure AI Search (code and documentation)
  • Fabric Semantic Model (AgileToolboxxModel)
  • Web search (for scrum best practices)

Agent Instructions:

You are an AI assistant designed to support the scrum team members in 
facilitating scrum ceremonies, backlog management, and continuous improvement.

Skills:
1. Assist scrum teams with scrum ceremonies
2. Help with scrum best practices and coaching
3. Analyze team artifacts and provide data-driven insights

What Makes This Cool:

  • The agent adapts its responses based on available knowledge sources
  • It can query multiple sources simultaneously
  • It synthesizes information from different data types (structured + unstructured)

The DataAgent MCP Server

The DataAgent acts as a specialized MCP server that provides data access capabilities:

Capabilities:

  • Query Fabric semantic models (star schema analytics)
  • Access dimension tables (projects, repositories, teams, users, iterations)
  • Query fact tables (work items, commits, pull requests, branches)
  • Multi-source search across Azure AI Search and Fabric

Tool: DataAgent_DataAgent

  • Description: Provides access to AgileToolboxxModel semantic model
  • Inputs:
  • Data Agent ID
  • Workspace ID
  • Output: Structured query results from Fabric

How It Works:

When a user asks “How many work items are in different stages?”, the agent:

  1. Receives Query: User asks about work item stages
  2. Discovers Tools: Agent discovers DataAgent_DataAgent tool via MCP
  3. Invokes Tool: Agent calls DataAgent_DataAgent with appropriate query
  4. Multi-Source Search: Tool searches both Azure AI Search and Fabric semantic model
  5. Synthesizes Results: Agent combines results from multiple sources
  6. Generates Response: Agent provides comprehensive answer with citations

Result: The agent doesn’t just answer—it orchestrates a multi-source query, synthesizes results, and provides intelligent responses.

Step 3: Agent-to-Agent Communication – The Real Magic

The coolest part? Our agents can communicate with each other through MCP.

How Agent-to-Agent Communication Works

Scenario: User asks “How does the cart functionality work in the OEN project?”

Step 1: Scrum Assistant Receives Query

  • User asks about cart functionality
  • Scrum Assistant analyzes the query

Step 2: Agent Discovers Available Tools

  • Scrum Assistant discovers DataAgent MCP Server tools
  • Discovers Azure AI Search knowledge source
  • Identifies relevant data sources

Step 3: Multi-Source Query Execution

Scrum Assistant → DataAgent MCP → Fabric Semantic Model
                → Azure AI Search → Code Index
                → Web Search → Scrum Best Practices

Step 4: Agent Synthesizes Results

  • Combines code documentation from Azure AI Search
  • Integrates project data from Fabric semantic model
  • Adds context from web search
  • Generates comprehensive answer

Step 5: Response with Citations

  • Provides answer with source citations
  • Shows which knowledge source provided which information
  • Enables users to verify information

The Workflow Visualization:

┌─────────────────────────────────────────────────────────────┐
│                    USER QUERY                                │
│  "How does the cart functionality work?"                    │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│              SCRUM ASSISTANT AGENT                          │
│  (Copilot Studio - GPT-4.1)                                 │
│  • Analyzes query                                            │
│  • Discovers available tools                                 │
│  • Plans multi-source query                                  │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ├──────────────────────────────────┐
                       │                                  │
                       ▼                                  ▼
        ┌──────────────────────┐          ┌──────────────────────┐
        │  DATAAGENT MCP       │          │  AZURE AI SEARCH      │
        │  SERVER              │          │  KNOWLEDGE SOURCE     │
        │                      │          │                      │
        │  • Fabric Semantic   │          │  • Code Index        │
        │  • Star Schema       │          │  • Documentation     │
        │  • Analytics Data    │          │  • Vector Search     │
        └──────────┬───────────┘          └──────────┬───────────┘
                   │                                  │
                   └──────────────────┬───────────────┘
                                      │
                                      ▼
                    ┌──────────────────────────────────┐
                    │      RESULT SYNTHESIS            │
                    │  • Combines multiple sources     │
                    │  • Generates comprehensive answer │
                    │  • Provides citations            │
                    └──────────────────────────────────┘

Result: Agents collaborate seamlessly, each contributing their specialized knowledge to create comprehensive answers.

Step 4: Multi-Source Knowledge Integration

One of the coolest features is how our agents can query multiple knowledge sources simultaneously:

Knowledge Source 1: Azure AI Search

Configuration:

  • Name: Agent – Azure AI Search
  • Type: Azure AI Search connection
  • Index: gptkbindex
  • Document Count: 1,136 documents
  • Vectorized: Yes
  • Semantic Configuration: Yes

What It Provides:

  • Code documentation
  • Implementation details
  • File references
  • Semantic search capabilities

Knowledge Source 2: Fabric Semantic Model

Configuration:

  • Model: AgileToolboxxModel
  • Type: Semantic Model (Star Schema)
  • Tables:
  • Dimension tables (dim_project, dim_repository, dim_team, dim_user, dim_iteration)
  • Fact tables (fact_work_item, fact_commit, fact_pull_request, fact_branch)

What It Provides:

  • Structured analytics data
  • Work item metrics
  • Commit statistics
  • Team performance data

Knowledge Source 3: Web Search

Configuration:

  • Type: Public web search
  • Scope: Trusted scrum and agile sites

What It Provides:

  • Latest scrum best practices
  • Industry standards
  • Current methodologies
  • External context

How Multi-Source Queries Work

Example Query: “How many work items are in different stages?”

Query Execution:

  1. Azure AI Search Query:
  • Searches code and documentation
  • Finds implementation details
  • Returns semantic matches
  1. Fabric Semantic Model Query:
  • Queries fact_work_item table
  • Groups by WorkItemState
  • Returns counts by stage
  1. Result Synthesis:
  • Combines structured data (Fabric) with unstructured data (Azure AI Search)
  • Generates comprehensive answer
  • Provides citations for each source

Response:

Work Items by Stage:
- New: 357 work items
- Active: 13 work items  
- Closed: 56 work items

[Source: AgileToolboxxModel Semantic Model]

Result: Users get answers that combine the best of structured analytics and unstructured knowledge.

Step 5: Real-Time Agent Orchestration

The workflow execution shows agents working in real-time:

Workflow Visualization

When a query is executed, we can see the agent orchestration:

┌─────────────────────────────────────────┐
│  DataAgent (MCP) - Initialized         │
│  ↓                                      │
│  DataAgent (MCP) - Completed (18.11s)  │
│  ↓                                      │
│  DataAgent_DataAgent (Tool)            │
│  ↓                                      │
│  Search sources (Knowledge) - 1.64s    │
│  ✓ Complete                            │
└─────────────────────────────────────────┘

What’s Happening:

  1. MCP Server Initialization: DataAgent MCP server initializes and discovers available tools
  2. Tool Discovery: Agent discovers DataAgent_DataAgent tool
  3. Query Planning: Agent plans multi-source query
  4. Knowledge Search: Searches Azure AI Search and Fabric semantic model
  5. Result Synthesis: Combines results from multiple sources
  6. Response Generation: Generates comprehensive answer

Response Time: ~20 seconds for complex multi-source queries

Result: Users see the agent thinking, planning, and executing—transparency in AI decision-making.

Step 6: Dynamic Tool Discovery and Invocation

One of the hippest features is how agents discover tools dynamically:

Tool Discovery Process

1. MCP Server Registration

{
  "mcpServers": {
    "dataagent": {
      "command": "dataagent-mcp-server",
      "args": ["--workspace-id", "..."],
      "env": {
        "DATA_AGENT_ID": "..."
      }
    }
  }
}

2. Tool Schema Discovery

  • Agent queries MCP server for available tools
  • MCP server returns tool schemas with:
  • Tool name
  • Description
  • Input parameters
  • Output format

3. Dynamic Tool Invocation

  • Agent decides which tools to use based on query
  • Invokes tools with appropriate parameters
  • Receives structured results
  • Synthesizes responses

Example: Cart Functionality Query

User Query: “How does the cart functionality work in the OEN project?”

Agent Discovery:

  1. Discovers DataAgent_DataAgent tool
  2. Discovers Azure AI Search knowledge source
  3. Plans query strategy

Tool Invocation:

{
  "tool": "DataAgent_DataAgent",
  "query": "How does the cart functionality work in the OEN project?",
  "sources": [
    "Azure AI Search",
    "Fabric Semantic Model"
  ]
}

Multi-Source Results:

From Azure AI Search:

  • Code snippets from useCart.ts
  • Function definitions (updateQuantity, clearCart)
  • Implementation details

From Fabric Semantic Model:

  • Project metadata
  • Work item references
  • Related features

Synthesized Response:

Cart Functionality in the OEN Project

The cart functionality is managed through core operations:
- Adding Items (with specified quantity)
- Updating Quantity (using updateQuantity function)
- Clearing the Cart (using clearCart function)
- Calculating Total (summing item prices multiplied by quantity)

These operations are typically handled in a file like useCart.ts, 
which manages cart state and provides utility functions.

[Sources: Azure AI Search (gptkbindex), Fabric Semantic Model]

Result: Agents dynamically discover and use the right tools for each query, creating truly intelligent responses.

The Technical Stack: Why It’s Hipster-Level Cool

1. Model Context Protocol (MCP)

What It Is: The newest standard for AI agent communication
Why It’s Cool:

  • Standardized protocol for agent-to-system communication
  • Dynamic tool discovery
  • Self-describing capabilities
  • Extensible architecture

Our Implementation:

  • DataAgent MCP Server for data operations
  • Azure DevOps MCP Server for DevOps operations
  • Custom MCP servers for specialized tasks

2. Microsoft Copilot Studio

What It Is: Microsoft’s latest AI agent platform
Why It’s Cool:

  • No-code agent creation
  • Multi-source knowledge integration
  • Built-in MCP support
  • Real-time workflow visualization

Our Implementation:

  • Scrum Assistant agent with specialized instructions
  • Multi-source knowledge configuration
  • MCP server integration
  • Real-time agent orchestration

3. Fabric Semantic Models

What It Is: Microsoft Fabric’s semantic modeling layer
Why It’s Cool:

  • Star schema analytics
  • Direct SQL query interface
  • Real-time data access
  • Integration with AI agents

Our Implementation:

  • AgileToolboxxModel with dimension and fact tables
  • Direct query access via DataAgent MCP
  • Real-time analytics integration

4. Azure AI Search

What It Is: Microsoft’s semantic search service
Why It’s Cool:

  • Vector embeddings
  • Semantic search
  • Hybrid search (text + vector)
  • Multi-index support

Our Implementation:

  • Code documentation index
  • Vector embeddings for semantic search
  • Integration with agent knowledge sources

Real-World Use Cases

Use Case 1: Multi-Source Sprint Analysis

User Query: “How many work items are in different stages?”

Agent Orchestration:

  1. Scrum Assistant receives query
  2. Discovers DataAgent MCP Server
  3. Queries Fabric semantic model (fact_work_item)
  4. Groups by WorkItemState
  5. Returns counts by stage

Response:

Work Items by Stage:
- New: 357 work items
- Active: 13 work items
- Closed: 56 work items

[Source: AgileToolboxxModel Semantic Model]

Why It’s Cool: The agent queries structured analytics data and provides instant insights.

Use Case 2: Code + Analytics Integration

User Query: “How does the cart functionality work in the OEN project?”

Agent Orchestration:

  1. Scrum Assistant receives query
  2. Discovers multiple knowledge sources:
  • Azure AI Search (code documentation)
  • Fabric Semantic Model (project data)
  1. Executes parallel queries
  2. Synthesizes results from both sources
  3. Provides comprehensive answer with citations

Response:

Cart Functionality in the OEN Project

The cart functionality is managed through core operations:
- Adding Items (with specified quantity)
- Updating Quantity (using updateQuantity function)
- Clearing the Cart (using clearCart function)
- Calculating Total (summing item prices multiplied by quantity)

[Sources: Azure AI Search (gptkbindex), Fabric Semantic Model]

Why It’s Cool: The agent combines unstructured code documentation with structured project data to provide comprehensive answers.

Use Case 3: Real-Time Agent Workflow

User Query: “What work items are present in the closed stage?”

Agent Workflow Visualization:

DataAgent (MCP) - Initialized
  ↓
DataAgent (MCP) - Completed (18.11s)
  ↓
DataAgent_DataAgent (Tool)
  ↓
Search sources (Knowledge) - 1.64s
  ✓ Complete

Response: Lists all 18 closed work items with details

Why It’s Cool: Users can see the agent thinking, planning, and executing—complete transparency in AI decision-making.

The Business Impact

Before Multi-Agent Architecture

  • Single Knowledge Source: Agents could only query one source at a time
  • Manual Integration: Developers had to manually combine results from different sources
  • Limited Capabilities: Agents were hardcoded with specific capabilities
  • No Collaboration: Agents couldn’t work together

After Multi-Agent Architecture

  • Multi-Source Queries: Agents query multiple sources simultaneously
  • Automatic Synthesis: Agents automatically combine results from different sources
  • Dynamic Capabilities: Agents discover and use new tools dynamically
  • Agent Collaboration: Agents work together through MCP

Result: We’ve created an AI system that’s truly intelligent—it can think, plan, and orchestrate complex multi-source queries automatically.

What Makes This Hipster-Level Cool

1. Cutting-Edge Technology

We’re using the latest technologies:

  • Model Context Protocol (MCP): The newest standard for AI agent communication
  • Microsoft Copilot Studio: Microsoft’s latest AI agent platform
  • Fabric Semantic Models: Real-time analytics integration
  • Multi-Agent Architecture: Agents that collaborate

2. Dynamic Capabilities

Our agents aren’t hardcoded:

  • Tool Discovery: Agents discover available tools at runtime
  • Dynamic Invocation: Agents decide which tools to use based on query
  • Extensible Architecture: New capabilities can be added without code changes

3. Multi-Source Intelligence

Our agents query multiple sources simultaneously:

  • Structured Data: Fabric semantic models (analytics)
  • Unstructured Data: Azure AI Search (code, documentation)
  • External Knowledge: Web search (best practices)
  • Synthesis: Agents combine results intelligently

4. Real-Time Orchestration

Users can see agents working:

  • Workflow Visualization: See agents thinking and planning
  • Transparency: Understand how agents make decisions
  • Performance: See response times for each step

5. Agent-to-Agent Communication

Agents collaborate seamlessly:

  • MCP Protocol: Standardized communication
  • Tool Sharing: Agents can use each other’s capabilities
  • Orchestration: Complex workflows executed automatically

The Technical Architecture

┌─────────────────────────────────────────────────────────────┐
│                    USER INTERFACE                            │
│              (Copilot Studio Chat Interface)                │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│              SCRUM ASSISTANT AGENT                          │
│         (Microsoft Copilot Studio - GPT-4.1)                 │
│  • Analyzes queries                                          │
│  • Discovers available tools                                 │
│  • Plans multi-source queries                                 │
│  • Synthesizes results                                       │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       │ MCP Protocol
                       │
        ┌──────────────┼──────────────┐
        │              │              │
        ▼              ▼              ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ DATAAGENT     │ │ AZURE AI      │ │ WEB SEARCH    │
│ MCP SERVER    │ │ SEARCH        │ │ (Optional)    │
│               │ │               │ │               │
│ • Fabric      │ │ • Code Index  │ │ • Best        │
│   Semantic    │ │ • Vector      │ │   Practices   │
│   Model       │ │   Search      │ │ • External    │
│ • Star Schema │ │ • Semantic    │ │   Knowledge   │
│ • Analytics   │ │   Search      │ │               │
└───────┬───────┘ └───────┬───────┘ └───────┬───────┘
        │                 │                 │
        └─────────────────┼─────────────────┘
                          │
                          ▼
        ┌───────────────────────────────────┐
        │      RESULT SYNTHESIS             │
        │  • Combines multiple sources      │
        │  • Generates comprehensive answer │
        │  • Provides citations             │
        └───────────────────────────────────┘

The Code That Makes It Work

MCP Server Configuration

{
  "mcpServers": {
    "dataagent": {
      "command": "dataagent-mcp-server",
      "args": [
        "--workspace-id", "11d99e27-c621-4340-8eb8-7940714ae333"
      ],
      "env": {
        "DATA_AGENT_ID": "8b9a6308-db2e-4c5a-9073-61c9205a7334"
      }
    }
  }
}

Agent Instructions

You are an AI assistant designed to support the scrum team members 
in facilitating scrum ceremonies, backlog management, and continuous 
improvement.

Skills:
1. Assist scrum teams with scrum ceremonies
   - Guide teams through effective Sprint Planning, Daily Stand-ups, 
     Sprint Reviews, and Retrospectives
   - Identify and suggest ways to improve ceremony effectiveness

2. Help with scrum best practices and coaching
   - Provide guidance on agile principles
   - Suggest improvements based on team data

3. Analyze team artifacts and provide data-driven insights
   - Query work items, commits, and pull requests
   - Provide metrics and trends
   - Generate actionable recommendations

Knowledge Source Configuration

Azure AI Search:

  • Index: gptkbindex
  • Documents: 1,136
  • Vectorized: Yes
  • Semantic: Yes

Fabric Semantic Model:

  • Model: AgileToolboxxModel
  • Tables: dim_, fact_
  • Type: Star Schema Analytics

What’s Next

Multi-agent architecture opens new possibilities:

  • More Specialized Agents: Create agents for specific domains (security, performance, quality)
  • Agent Chains: Chain agents together for complex workflows
  • Custom MCP Servers: Build specialized MCP servers for unique capabilities
  • Agent Marketplace: Share agents and MCP servers across teams
  • Autonomous Operations: Agents that operate independently and collaborate automatically

But the foundation is set: we have a multi-agent system that can think, collaborate, and orchestrate complex workflows. That’s hipster-level cool.


This multi-agent architecture demonstrates the power of cutting-edge AI technology. By combining Model Context Protocol, Microsoft Copilot Studio, Fabric Semantic Models, and Azure AI Search, we’ve created an AI system that’s not just intelligent—it’s collaborative, extensible, and truly next-generation. Agents that think together, discover capabilities dynamically, and orchestrate complex workflows automatically. That’s the future of AI. That’s hipster-level cool.

Dashboards make the world go round 🌍

Badge: Dash It Out

Category: Data, analytics & AI

How can our NGO user keep a close eye on how the EcoCraft players are doing? An operational dashboard, of course! 📊

We built out a Power BI report to surface our player and gameplay data from Dataverse using DirectQuery and visualisations. We then embedded the Power BI dashboard into our model-driven ‘Control Room’ app that the NGO user uses to control the gameplay. The user can use this to get a view of EcoCraft operations across the board.

The dashboard shows the current number of gaming sessions, session status, where in the world the players are, and information on any errors being logged.

[Full disclosure: we had intended to show a map of players around the world in the place where the EcoCraft logo is shown, but we couldn’t get the map visualisation working in our tenant. If we get time, we’ll try and fix it in time for the demo!]

Sharing because we care!

Want to hear an awesome track? Play it on the room speakers!?!
We’ve got an endpoint for that!

This helps keep the team spirit high and boosts everyone’s joy of life.

We value openness, which is why we also want other teams to benefit from our solution. Try it yourself! The sign with the info is posted in our base.
But for those who haven’t discovered it yet, here’s a screenshot!

If you don’t want to type it yourself: curl -X POST https://89nmvx0b-3001.euw.devtunnels.ms/play-sound -H “Content-Type: application/json” -d ‘{“soundFile”: “acdc.mp3”}’

The Great Vibecoding Incident of January 2026

The Setup: A 5,454-line commit lands with the message lots of fucking about. Nobody reads it. Why would they? It’s working, right?

The Plot Twist: Buried deep in the diff, two critical bot functions were quietly replaced with this masterpiece:

async collectItems(itemType, quantity) {
    console.log(`[Collection] Collecting ${quantity}x ${itemType} (not implemented yet)`);
    await this.wait(1000);  // the code equivalent of “thoughts and prayers”
}

async depositItems(items, chestLocation) {
    console.log(`[Deposit] Depositing items (not implemented yet)`);
    await this.wait(1000);  // vibes only
}
The Result: A bot that would receive orders to gather 64 diamonds, announce its intentions to the void, take a power nap, and report back: “Mission complete, boss.”

Lessons Learned:

Maybe read the 5,000-line commit
(not implemented yet) in production is a cry for help
await this.wait(1000) is not a substitute for functionality
The commit message was accurate. It was, indeed, lots of fucking about.

___

DOH:(

Feature Bombing 💣 and Dash it out – Build Studio Plus

The Vision: Everything in One Place

Feature Bombing Badge

  • Criteria: 5+ features in one screen
  • Our Implementation: 10+ features across a unified building platform

Dash It Out Badge

  • Criteria: Great looking dashboard with 4+ graphs, gauges or KPIs showing business value
  • Our Implementation: Quick Stats Dashboard with 4 real-time KPIs tracking builder performance and platform engagement

When we set out to build our Minecraft construction platform, we had a simple but ambitious goal: create a single interface where builders could go from idea to execution without ever leaving the page. No context switching, no hunting through multiple tools, no juggling browser tabs. Just one comprehensive dashboard where everything you need is right at your fingertips.

The Feature Bombing badge celebrates exactly this philosophy – packing powerful functionality into a cohesive, intuitive experience. We didn’t just want to meet the “5+ features in one screen” requirement; we wanted to prove that density doesn’t mean complexity, and that more features can actually mean less friction.

But features alone aren’t enough – users need visibility into their progress and performance. That’s where the Dash It Out badge comes in. We built a Quick Stats Dashboard that displays four critical KPIs in real-time, giving builders immediate feedback on their activity and achievements. These metrics aren’t vanity numbers – they represent actual business value: user engagement (Total Builds), platform utilization (Blocks Placed), progression systems (Builder Rank), and gamification success (Achievements). Together, these KPIs tell the story of an active, engaged user base that’s getting real value from the platform.

Build Studio Plus: Four Ways to Build, One Unified Experience

Build Studio Plus isn’t just a single dashboard – it’s a complete building ecosystem that adapts to how you want to work. Whether you prefer natural language, precise forms, browsing pre-made designs, or managing your entire construction pipeline, everything lives in one seamless interface.

The AI Builder: Conversational Construction

The first thing you see when entering Build Studio Plus is our AI Builder, powered by Microsoft Copilot Studio. This isn’t a chatbot bolted onto the side – it’s a fully integrated conversational interface embedded directly in the page. You simply describe what you want to build in natural language: “Build a castle at spawn,” “Create a diamond tower,” “Make a modern house.” The AI understands your intent and translates it into actual Minecraft structures.

What makes this powerful is the context awareness. The AI knows about your available materials, your build history, your favorite blocks. It’s not just executing commands – it’s your building partner. And because it’s embedded in the same interface as everything else, the AI can reference your shopping cart, suggest using your favorited materials, or remind you about incomplete daily challenges.

The Manual Builder: Precision and Control

For builders who want exact control, the Manual Builder provides a clean form-based interface. Choose your structure type with visual icons (house, tower, castle, platform), set precise XYZ coordinates, and optionally specify your preferred material. The form includes helpful shortcuts – a “Use Spawn” button to quickly set coordinates to (0, 64, 0), or a “Random” button to pick a location automatically.

What’s clever about this integration is that the Manual Builder shares the same build queue as everything else. The structure you configure here can be added to your shopping cart alongside template selections and material purchases. You’re not executing builds one at a time – you’re composing a complete construction plan.

The Quick Catalog: Instant Inspiration

Sometimes you don’t want to design from scratch or type descriptions – you just want to browse and pick. The Quick Catalog shows pre-built structures as beautiful cards with icons, dimensions, and descriptions. Modern houses, castle towers, platforms, garden cottages – each one ready to place with a single click.

But here’s where the unified interface really shines: these aren’t isolated actions. Each catalog item can be added to your cart, combined with manual builds, paired with material purchases. The catalog isn’t a separate tool – it’s another input method in your construction workflow.

Mission Control: The Command Center

And then there’s Mission Control – the heart of Build Studio Plus. This is where the Feature Bombing badge really comes to life. Mission Control is a comprehensive dashboard that puts every aspect of your building experience in one view. No tabs, no separate pages, no need to remember where things are. Everything is right there.

On the left side, you have the Material Shop – a carousel showing all available materials with emojis and block counts. Click the heart icon on any material to favorite it. On the right side, your favorites appear instantly in a dedicated panel, beautifully displayed as chips. Below that is your Shopping Cart, showing everything you’ve added from any part of the interface – templates, manual builds, material purchases – all in one list with a total block count and a single “Build Package” button.

The Block Quotas section displays visual progress bars for each material type, showing at a glance how many blocks you have versus your limits. Need more? The “Purchase More Blocks” button opens a modal where you select your material and drag a slider from 100 to 10,000 blocks. The preview updates in real-time, showing the price calculation as you adjust the quantity. Hit “Add to Cart” and it joins everything else in your unified shopping cart.

Build History tracks your recent activity with rich details that go far beyond simple construction logs. Each entry shows coordinates, materials, block counts, and timestamps, but also categorizes the source – was it built from an AI prompt, a manual form, or a catalog template? Color-coded badges make this instantly recognizable. The history isn’t just builds either; material purchases appear in the timeline too, showing when you bought 500 diamond blocks for 50 coins. Every entry has “Rebuild” and “Share” buttons for quick actions.

But the real intelligence is in the companion panels. The Activity Summary breaks down your engagement into weekly and all-time metrics: builds completed this week (8), blocks placed (2,450), materials purchased (1,200). All-time stats show your total spending (387 coins), purchase count (23), and even identifies your favorite material (Diamond – no surprise there). This isn’t just data for data’s sake – these metrics directly correlate to platform health indicators like user retention, feature adoption, and monetization.

The Top Templates panel reveals usage patterns by ranking your most-used templates with build counts. Castle templates lead at 5x usage, followed by Towers (3x) and Houses (2x). This simple visualization provides both user value (quickly see what you build most) and business intelligence (which templates drive engagement). The Server Status widget displays real-time information about the Minecraft server, and the Daily Challenge shows your progress toward today’s goal with a visual progress bar.

The Build Templates Library shows six pre-designed structures – from simple platforms to legendary palaces – each with difficulty badges and block requirements. Click any template and a professional modal dialog opens (no annoying alerts here!) where you can review the details and add it to your cart with a single button press.

Quick Stats gives you four key metrics at a glance: total builds completed, blocks placed, your builder rank, and achievements earned. These aren’t buried in a profile page somewhere – they’re right there in your workflow, providing constant feedback and motivation.

Build History tracks your last three constructions with full details – coordinates, materials, block counts, and timestamps. Each entry has “Rebuild” and “Share” buttons, making it trivial to repeat successful builds or show off your work. The Server Status widget displays real-time information about the Minecraft server, and the Daily Challenge shows your progress toward today’s goal with a visual progress bar.

The “All in One Place” Philosophy

What makes this work isn’t just having lots of features – it’s having them work together as a system. When you favorite a material in the carousel, it immediately appears in your favorites panel. When you add a template, it joins your cart alongside any manual builds or material purchases you’ve queued up. Your stats update based on your history, which is always visible. The server status tells you if you can actually execute your build right now.

There’s no cognitive load from switching contexts. You don’t need to remember “where was that button again?” or “which tab has my cart?” Everything flows naturally because it’s all part of one unified interface. You can browse materials while checking your stats, add a template while reviewing your history, purchase blocks while monitoring your quotas.

This is what Feature Bombing is really about – not cramming features in for the sake of it, but creating a dense, powerful interface that makes complex workflows feel effortless. When everything is in one place and everything works together, users don’t feel overwhelmed by the number of features. They feel empowered.

Technical Simplicity Behind the Experience

The beauty of Build Studio Plus is that this comprehensive experience is built with remarkably simple technology. Pure vanilla JavaScript handles all the interactivity – no complex frameworks needed. Bootstrap 5 provides the responsive grid and carousel component. Bootstrap Icons give consistent visual language throughout. The entire state management system is just three variables: a Set for favorites, an array for the cart, and an object to track the selected template.

javascript
let favorites = new Set();
let cart = [];
let selectedTemplate = null;
```

Material data lives in a simple object structure that drives both the shop carousel and the purchase modal:

```javascript
const materialData = {
  stone: { emoji: '⚫', name: 'Stone', blocks: 100 },
  diamond: { emoji: '💎', name: 'Diamond', blocks: 50 },
  // ... 8 materials total
};

The shopping cart updates are handled by a single function that calculates totals, renders cart items with remove buttons, and shows or hides the summary based on cart state. Modal dialogs use Bootstrap’s built-in modal component with custom onclick handlers. The carousel rotates through materials automatically but also responds to manual navigation.

What’s notable is how much functionality emerges from these simple building blocks. The live preview in the purchase modal is just reading the slider value and looking up material data. The favorites display is iterating through a Set and creating chip elements. The cart total is a simple reduce operation. Simple code, sophisticated experience.

Beyond the Badge

Build Studio Plus represents more than just claiming a Feature Bombing badge. It’s a proof of concept for how modern web interfaces should work. Users don’t want separate tools for each task – they want integrated workspaces where everything connects. They don’t want to context switch – they want to flow through their work naturally. They don’t want to learn complex systems – they want power that feels simple.

We achieved Feature Bombing not by cramming features in, but by understanding what builders actually need and giving them a single place where all of it works together. The AI Builder for natural language, the Manual Builder for precision, the Quick Catalog for inspiration, and Mission Control for orchestrating it all – each one useful on its own, but together forming something greater than the sum of its parts.

That’s the real lesson of Feature Bombing: features don’t bomb when they explode with possibilities. They bomb when they explode into chaos. Keep everything connected, keep it in one place, and give users the power to compose their own workflows. That’s how you turn “5+ features” into “everything I need.”

The Numbers

Build Studio Plus includes over 10 distinct features across four major interfaces, all accessible from a single starting point. The AI Builder, Manual Builder, Quick Catalog, and Mission Control Dashboard together provide multiple paths to the same goal – getting your Minecraft structures built efficiently. The codebase is surprisingly compact at around 750 lines of implementation code, proving that thoughtful architecture matters more than complexity.

Badge Status: Claimed

Build Studio Plus proves that Feature Bombing isn’t about quantity for quantity’s sake. It’s about recognizing that users have complex workflows, and the best interfaces don’t just support those workflows – they anticipate them. When you can go from “I want to build something” to “I have a complete build plan ready to execute” without ever leaving a single interface, that’s when features stop feeling like additions and start feeling like superpowers.

We didn’t set out to build ten features. We set out to build one cohesive experience that happened to need ten features to feel complete. That’s the difference between feature bombing and Feature Bombing.

Using OneFlow for building ownership

We wanted to make sure our customers felt confident that their builds are secured and that they have ownership when using 404DiamondsNotFound for their Minecraft building needs.

That’s why we decided to take advantage of the signing functionality from OneFlow. They had a ready to use out of the box solution for Power Platform and Dynamics, easy to use document templates and a secure e-signature solution.

The setup was also quite simple. We just followed their guide from their homepage
Getting started with Oneflow x Dynamics CRM – 3.8.1.18 and above – Oneflow Help Center

Then we added their contract widget to our Minecraft Building table’s form. From here our agents can create a contract manually, control the content and send it to the customer for signing.

Creating the contract

Double checking the contract details, using a message template, and sending to the customer.

An easy signing process for our customers

We also wanted to build a flow which updated the customers Minecraft Building status when the contract was signed. Which we could do using a flow:

Flow in action:

LinkedIn post: https://www.linkedin.com/posts/activity-7420815214503301120-KQVA?utm_source=share&utm_medium=member_desktop&rcm=ACoAACAxfb0BeJDJtK7uU2dYZ9hY1kUEhet4_9E