Product Requirements Document (PRD) for "ModPorter AI": An AI-Powered Java-to-Bedrock Conversion Tool
This section revisits the initial feasibility assessment in light of a revised strategy centered on AI-driven conversion and the use of "smart assumptions" to bridge the gap between the Java and Bedrock modding ecosystems.
The original analysis concluded that a fully automated, general-purpose conversion tool was infeasible due to fundamental, irreconcilable differences in the platforms' core architecture, programming languages, and API capabilities.1 Key Java-exclusive features like custom dimensions, client-side rendering mods, and deep inter-mod communication systems have no direct equivalent in the sandboxed Bedrock environment.4 This core conclusion remains valid; AI cannot invent Bedrock API functions that do not exist.
However, the goal of a "one-click" tool is not necessarily to achieve a perfect, 1:1 conversion, but to produce the best possible approximation with minimal user intervention. By reframing the objective from "perfect replication" to "intelligent adaptation," the use of advanced AI models makes a one-click solution conditionally feasible.
The new approach hinges on an AI engine capable of making "smart assumptions"—programmatic and logical compromises to handle inconvertible features. The AI's role is not just to translate code, but to act as an expert system that understands the intent of a Java mod feature and maps it to the closest available Bedrock mechanic, even if it's a functional downgrade.
Table of Smart Assumptions:
| Java Mod Feature | Inconvertible Aspect | AI-Driven "Smart Assumption" / Workaround |
|---|---|---|
| Custom Dimensions | No Bedrock API for creating new worlds.4 | The AI will identify the custom dimension's assets and generation rules and recreate it as a large, self-contained structure (a "skybox" or a far-off landmass) within an existing Bedrock dimension (Overworld or The End).7 |
| Complex Machinery | Custom Java logic for power, processing, and multi-block interactions. | The AI will convert the machine's model and texture but replace the complex logic with the closest available Bedrock component. For example, a power-consuming ore processor might become a decorative block or a simple container. The core functionality is lost, but the aesthetic is preserved. |
| Custom GUI/HUD | No Bedrock API for creating new UI screens. | The AI will parse the UI elements and attempt to recreate the interface using in-game items like books or signs. This is a significant UX change, but preserves access to the information. |
| Client-Side Rendering | No access to Bedrock's Render Dragon engine.4 | The AI will identify these mods (e.g., shaders, performance enhancers) and explicitly exclude them from the conversion, notifying the user that they are unsupported. |
| Mod Dependencies | Bedrock add-ons are designed to be self-contained.8 | The AI will analyze the dependency. If it's a simple library, it may attempt to bundle the required functions. For complex dependencies (e.g., another large content mod), it will flag the dependency as a critical failure point and halt conversion of that specific mod, explaining the issue to a user.9 |
Achieving this level of automated reasoning requires more than a simple code transpiler.11 It necessitates a multi-agent system built on a framework like LangChain or LangChain/LangGraph.
- LangChain: This framework can be used to orchestrate the complex workflow of conversion.13 We can create a "chain" that sequentially analyzes the Java code, plans the conversion by applying smart assumptions, generates the new files, and validates the output. LangChain's ability to integrate with various tools (code parsers, file writers) makes it ideal for managing the step-by-step process.15
- LangChain/LangGraph: This framework allows for a more sophisticated, collaborative approach by creating a "crew" of specialized AI agents.17 For instance, a "Java Analyst" agent would deconstruct the mod, a "Bedrock Architect" agent would design the conversion plan using the smart assumption table, a "Logic Translator" agent would rewrite code, and a "QA Agent" would check the output for errors.19 This division of labor allows for more robust and nuanced problem-solving than a single monolithic chain.
A "one-click" Java modpack to Bedrock add-on conversion tool is conditionally feasible under this revised, AI-driven strategy. The feasibility is contingent on managing user expectations: the tool will deliver a best-effort approximation, not a perfect mirror. For simple mods, the conversion may be near-perfect. For complex modpacks, the result will be a functionally reduced but aesthetically similar experience, with a detailed report explaining the necessary compromises.
Vision
To empower Minecraft players and creators with a "one-click" AI-powered tool that intelligently converts Minecraft: Java Edition mods and modpacks into functional Minecraft: Bedrock Edition add-ons. ModPorter AI will automate the complex adaptation process, making beloved Java content accessible to the vast Bedrock audience by applying smart assumptions to bridge technical gaps and delivering the best possible conversion with full transparency about any necessary compromises.
Primary User Persona: The Mod-Savvy Player
- Description: A Minecraft player who enjoys the rich, complex experiences offered by Java modpacks but wishes to play them on a Bedrock platform (console, mobile) or with friends who only have Bedrock Edition.
- Goals: To experience their favorite Java mods on Bedrock with a simple, one-click process. They understand that some features might not work perfectly but expect a playable and recognizable result.
- Frustrations: The technical barrier to modding is high. Manually porting is impossible for them, and they are frustrated by the content disparity between the two editions.21
- Needs: A fully automated tool that handles the entire conversion process and provides a simple .mcaddon file they can install immediately.
Secondary User Persona: The Java Mod Developer
- Description: A programmer proficient in Java who has created mods for the Java community.
- Goals: To expand their user base to the Bedrock ecosystem and potentially monetize their work via the Marketplace without investing hundreds of hours in a manual port.22
- Frustrations: Lacks the time and specific knowledge of the Bedrock add-on system, with its unique JSON schemas and limited JavaScript API.3
- Needs: A tool that can produce a high-quality "first draft" of a Bedrock port, handling 80-90% of the work automatically. They can then use the generated output as a starting point for manual refinement.
Feature 1: One-Click Modpack Ingestion
- Description: The user provides a Java mod or modpack via a single file upload or a link to a popular repository.
- User Story: "As a player, I want to simply drag and drop my CurseForge modpack zip file into the tool and click 'Convert' to start the process."
- Acceptance Criteria:
- The tool accepts .jar files, .zip modpack archives, and URLs from major mod repositories (e.g., CurseForge, Modrinth).
- It successfully parses manifests (fabric.mod.json, etc.) to identify all mods and their dependencies within a pack.
Feature 2: AI Conversion Engine
- Description: A multi-agent AI system that orchestrates the entire conversion process, from analysis and planning to code generation and packaging. This is the core of the product.
- User Story: "As a user, I want the tool to intelligently analyze the mods, figure out the best way to make them work on Bedrock, and automatically generate all the necessary files without me needing to know how it works."
- Acceptance Criteria:
- Analyzer Agent: Correctly identifies all assets, code logic, dependencies, and feature types (e.g., custom dimension, custom GUI) in the source mod(s).
- Planner Agent: Generates a conversion plan that maps each Java feature to a Bedrock equivalent based on the "Smart Assumptions" logic. The plan must explicitly flag features that will be dropped or significantly altered.
- Logic Translation Agent: Translates Java code to Bedrock's JavaScript API. It must handle the paradigm shift from object-oriented code to event-driven scripts. For untranslatable logic, it should comment out the code and add an explanatory note for developers.
- Asset Conversion Agent: Converts all textures, sounds, and models into Bedrock-compatible formats and folder structures.
- Packaging Agent: Assembles the converted files into a single, valid .mcaddon package.
This section defines the precise scope of the Minimum Viable Product (MVP). The goal of the MVP is to deliver the core value proposition—automated conversion of a simple Java mod—to a limited set of features to validate the technical feasibility and gather user feedback.
The MVP will focus exclusively on converting a single, simple Java mod that introduces a new block to the game.
- Input: A
.jarfile for a Fabric or Forge mod that contains the definition for one new block. The mod should have no dependencies. - Output: A
.mcaddonfile that, when installed in Minecraft: Bedrock Edition, adds the new block to the creative inventory.
The input JAR file should contain:
simple_copper_block.jar
├── fabric.mod.json # Mod metadata (required)
│ └── Contains: id, version, name, description
├── assets/
│ └── simple_copper/
│ └── textures/
│ └── block/
│ └── polished_copper.png # Block texture (16x16 PNG)
├── com/
│ └── example/
│ └── simple_copper/
│ ├── PolishedCopperBlock.java # Block definition
│ └── SimpleCopperMod.java # Mod initialization
└── META-INF/
└── MANIFEST.MF # JAR manifest
Required Java Block Class Pattern:
public class PolishedCopperBlock extends Block {
public PolishedCopperBlock() {
super(Properties.of(Material.METAL)
.strength(3.0F, 6.0F) // hardness, explosion resistance
.sound(SoundType.COPPER)
.requiresCorrectToolForDrops());
}
}Required Mod Initialization Pattern:
public class SimpleCopperMod implements ModInitializer {
public static final Block POLISHED_COPPER_BLOCK = new PolishedCopperBlock();
@Override
public void onInitialize() {
Registry.register(Registry.BLOCK,
new ResourceLocation("simple_copper", "polished_copper"),
POLISHED_COPPER_BLOCK);
}
}The output .mcaddon file must contain:
simple_copper_block.mcaddon
├── behavior_packs/
│ └── simple_copper_bp/
│ ├── manifest.json # Behavior pack manifest
│ └── blocks/
│ └── polished_copper.json # Block definition
└── resource_packs/
└── simple_copper_rp/
├── manifest.json # Resource pack manifest
└── textures/
└── blocks/
└── polished_copper.png # Block texture
Required Block Definition (Bedrock JSON):
{
"format_version": "1.16.100",
"minecraft:block": {
"description": {
"identifier": "simple_copper:polished_copper"
},
"components": {
"minecraft:destroy_time": 3.0,
"minecraft:explosion_resistance": 6.0,
"minecraft:material_instances": {
"*": {
"texture": "polished_copper"
}
}
}
}
}Required Manifest Structure:
{
"format_version": 2,
"header": {
"name": "Simple Copper Block",
"description": "Adds a polished copper block",
"uuid": "<generated-uuid>",
"version": [1, 0, 0],
"min_engine_version": [1, 16, 0]
},
"modules": [
{
"type": "data",
"uuid": "<generated-uuid>",
"version": [1, 0, 0]
}
]
}A reference test fixture is available at tests/fixtures/simple_copper_block.jar which can be generated by running:
python tests/fixtures/simple_copper_block.pyThis fixture is used in the automated test suite at tests/test_mvp_conversion.py.
The "Smart Assumptions" table will be limited to the scope of a single block:
| Java Mod Feature | Inconvertible Aspect | AI-Driven "Smart Assumption" / Workaround |
|---|---|---|
| Custom Block Logic | Complex Java code for block behavior (e.g., emitting light, triggering redstone). | The AI will ignore the custom logic and create a simple, decorative block. The block's appearance will be preserved, but its behavior will not. |
| Crafting Recipes | Java-defined crafting recipes. | The AI will not attempt to convert crafting recipes. The block will be available only in the creative mode inventory. |
| Block Properties | Java Properties.of(Material.METAL) |
Map to Bedrock minecraft:material_instances with appropriate texture. Hardness maps to minecraft:destroy_time. |
| Sound Types | Java SoundType.COPPER |
Map to closest Bedrock sound or use default stone sounds. |
| Tool Requirements | Java requiresCorrectToolForDrops() |
Not directly convertible; block will be breakable by hand in MVP. |
The system successfully converts a valid Java block mod into a valid .mcaddon file.
- Acceptance Test 1.1: Given a
.jarfile of a simple Fabric mod that adds one block, the system generates a.mcaddonfile without errors. - Acceptance Test 1.2: The generated
.mcaddonfile can be successfully imported into Minecraft: Bedrock Edition. - Acceptance Test 1.3: The
.mcaddonfile contains validbehavior_packs/andresource_packs/directories. - Acceptance Test 1.4: Both behavior pack and resource pack contain valid
manifest.jsonfiles with unique UUIDs.
The converted block appears and functions correctly in Bedrock Edition.
- Acceptance Test 2.1: The new block is present in the creative inventory in Bedrock Edition.
- Acceptance Test 2.2: The block can be placed in the world and displays its texture correctly.
- Acceptance Test 2.3: The block can be destroyed.
- Acceptance Test 2.4: The block texture displays without errors (no purple checkerboard).
- Acceptance Test 3.1: Single block conversion completes in under 30 seconds.
- Acceptance Test 3.2: Analysis phase completes in under 5 seconds.
- Acceptance Test 3.3: Build phase completes in under 5 seconds.
- Acceptance Test 3.4: Package phase completes in under 1 second.
- Acceptance Test 4.1: Invalid JAR files are rejected with clear error messages.
- Acceptance Test 4.2: Missing textures are handled gracefully with fallback.
- Acceptance Test 4.3: Empty JARs are handled gracefully with default registry name.
The following features are explicitly out of scope for the MVP and will be addressed in subsequent releases:
| Feature | Planned Milestone | Notes |
|---|---|---|
| Item conversion | Milestone 2 | Items require separate handling |
| Entity conversion | Milestone 3 | Entities need AI/behavior definitions |
| Crafting recipes | Phase 2 | Recipe JSON conversion |
| Multiple blocks per mod | Phase 2 | Batch processing |
| Modpack support | Phase 2 | Dependency resolution |
| Custom GUI | Phase 3 | No Bedrock API equivalent |
| Custom dimensions | Phase 3 | Structure-based workaround |
| Complex machinery | Phase 3 | Decorative fallback |
- Description: Upon completion, the tool presents a clear, user-friendly report detailing the results of the conversion.
- User Story: "As a player, after the conversion is done, I want to see a simple summary that tells me which mods worked, which didn't, and if any major features, like a specific dimension, were changed or removed."
- Acceptance Criteria:
- The report provides a high-level summary for non-technical users.
- It lists each mod in a pack and its conversion status (Success, Partial Success, Failed).
- For each mod, it details which "smart assumptions" were applied (e.g., "The 'Twilight Forest' dimension was converted to a large structure in the Overworld.").
- It provides a "Developer Log" with technical details about untranslatable code blocks and API incompatibilities for advanced users.
- Description: An optional post-conversion step where an AI agent validates the success of the port by comparing the converted add-on to the original Java mod. This feature operates in two modes depending on the user's setup and provides a detailed comparison report.
- Mode 1: Direct Gameplay Comparison
- User Story: "As a developer with both Java and Bedrock installed, after a conversion, I want the AI to play both the original modpack and the new add-on to generate a comparison report, so I can quickly see how accurately the core features were ported."
- Acceptance Criteria:
- The tool can programmatically launch and control both Minecraft: Java Edition (with the original modpack) and Minecraft: Bedrock Edition (with the converted add-on) on the user's local machine.23
- An AI agent performs a standardized set of in-game actions in both versions to test core functionality (e.g., crafting key items, spawning mobs, interacting with custom blocks).24
- The tool captures gameplay data (video, screenshots, game logs) from both sessions for analysis.
- An AI model visually compares screenshots and videos to detect differences in textures, models, and UI, while also parsing logs to check for functional errors.25
- The final validation report presents a side-by-side comparison, highlighting functional parity, visual discrepancies, and features that failed to convert correctly.
- Mode 2: Multimodal Feature Analysis
- User Story: "As a player who only has Bedrock, I want the AI to research the original Java modpack online, understand its main features from videos and descriptions, and then play my new add-on to check if those features are present and working."
- Acceptance Criteria:
- The tool accepts URLs to modpack pages (CurseForge, Modrinth) or YouTube gameplay videos as input.
- A multimodal AI agent analyzes the provided content (text, images, video) to generate a "feature checklist" of the original modpack's intended functionality.26
- The tool launches Minecraft: Bedrock Edition with the converted add-on.
- An AI agent attempts to interact with the features identified in the checklist, recording its success or failure.28
- The final validation report scores the conversion based on how many features from the online research were successfully implemented and functional in the Bedrock add-on.
- Description: An optional, integrated development environment for developers who wish to manually refine the AI's output.
- User Story: "As a developer, after the AI generates the add-on, I want an editor where I can see the original Java code next to the converted JavaScript and easily fix any issues or add back functionality the AI couldn't handle."
- Acceptance Criteria:
- The UI presents a dual-pane view showing the original Java source and the AI-generated Bedrock file.
- The editor provides syntax highlighting, error checking, and integrated documentation for the Bedrock API.
- Architecture: A cloud-based web application to handle the intense computational load of the AI models. A lightweight client-side interface will handle file uploads and display results. For the AI Validation feature, a local agent will need to be installed on the user's machine to interface with their Minecraft installations.
- Technology Stack:
- AI Orchestration: A multi-agent framework such as LangChain/LangGraph 29 or a custom-built workflow using
LangChain.31 - Language Models: A combination of state-of-the-art LLMs (e.g., GPT-4, Claude 3) and multimodal models (e.g., Gemini) fine-tuned on a corpus of Java mod code, Bedrock add-on documentation, and successful manual ports.23
- Backend: Python for AI/ML processing, with Node.js for handling web requests.
- Java Analysis: A robust Java source code parsing library (e.g., JavaParser).
- Frontend: A modern web framework (e.g., React, Vue) for the user interface.
- AI Orchestration: A multi-agent framework such as LangChain/LangGraph 29 or a custom-built workflow using
- Non-Functional Requirements:
- Scalability: The cloud architecture must scale to handle numerous concurrent conversion requests.
- Transparency: The tool must never fail silently. All errors and assumptions must be clearly communicated to the user in the final report.
- Temporary File Management: The system creates temporary directories for processing uploaded or downloaded files. These directories and their contents are automatically cleaned up after processing is complete or in the event of an error to ensure no orphaned files remain.
- Security:
- User-uploaded code must be handled in isolated, secure environments and deleted after processing to protect intellectual property.
- Basic internal checks for archive integrity (like ZIP bomb path traversal) are performed. Integration with an external, comprehensive malware scanner (e.g., ClamAV) is recommended for production deployments.
- File processing operations should be executed within isolated, ephemeral containers (e.g., Docker) in production to mitigate risks from potentially malicious file uploads.
- Rate limiting for API endpoints (e.g., per IP/user) should be implemented at the API gateway, reverse proxy, or via dedicated middleware in production to prevent abuse.
- The local validation agent (Feature 4) must only interact with the Minecraft applications and not access other user data.
- Decompilation and Licensing: The tool's function relies on analyzing and creating derivative works of existing mods. The UI must contain clear disclaimers advising users to respect the software licenses of the original mods. The AI Analyzer Agent should attempt to identify the mod's license and warn the user if it is restrictive.
- Intellectual Property: The user is responsible for ensuring they have the right to convert the mod. The tool is a facilitator, and the terms of service must indemnify the service provider from copyright infringement claims resulting from user actions.
- Marketplace Policies: The AI Planner Agent must be aware of the latest Minecraft Marketplace technical guidelines and flag any converted content that would violate these policies (e.g., overriding vanilla files, excessive file size).8
- Phase 1 (MVP):
- Develop the core AI Conversion Engine for single, dependency-free mods.
- Implement the three most critical "smart assumptions" (Dimensions, Simple Blocks/Items, Recipes).
- Launch with a functional web interface for upload, conversion, and reporting.
- Phase 2 (Modpack & Complexity):
- Introduce support for modpack archives.
- Implement AI-driven dependency analysis and bundling.
- Expand the "Smart Assumptions" library to cover more complex features like custom entities and basic machinery.
- Phase 3 (Refinement & Integration):
- Launch the Post-Conversion Editor for developers.
- Integrate with CurseForge/Modrinth APIs for direct project importing.
- Phase 4 (Validation & Iteration):
- Implement Feature 4: AI-Powered Validation & Comparison.
- Create a feedback loop where manual developer fixes from the Post-Conversion Editor can be used to retrain and improve the AI conversion models.
- is there a mod java and bedrock converter? : r/MinecraftMod - Reddit, accessed July 2, 2025, https://www.reddit.com/r/MinecraftMod/comments/1jm69np/is_there_a_mod_java_and_bedrock_converter/
- how to convert bedrock addons into java mods? : r/feedthebeast - Reddit, accessed July 2, 2025, https://www.reddit.com/r/feedthebeast/comments/vyqctw/how_to_convert_bedrock_addons_into_java_mods/
- Change from java to bedrock? - MCreator, accessed July 2, 2025, https://mcreator.net/forum/74072/change-java-bedrock
- What are the differences in modding capabilities between Java and Bedrock? : r/Minecraft, accessed July 2, 2025, https://www.reddit.com/r/Minecraft/comments/1duslmj/what_are_the_differences_in_modding_capabilities/
- Have any other Java mods been ported to Bedrock? : r/Minecraft - Reddit, accessed July 2, 2025, https://www.reddit.com/r/Minecraft/comments/1k2hrf5/have_any_other_java_mods_been_ported_to_bedrock/
- Custom Dimensions for Bedrock Addons - Minecraft Feedback, accessed July 2, 2025, https://feedback.minecraft.net/hc/en-us/community/posts/4477155343501-Custom-Dimensions-for-Bedrock-Addons
- [Help] Mod/Addon development for a new Dimension in Minecraft Bedrock Edition. - Reddit, accessed July 2, 2025, https://www.reddit.com/r/Minecraft/comments/17zi7lu/help_modaddon_development_for_a_new_dimension_in/
- Guidelines for Building Cooperative Add-Ons | Microsoft Learn, accessed July 2, 2025, https://learn.microsoft.com/en-us/minecraft/creator/documents/practices/guidelinesforbuildingcooperativeaddons?view=minecraft-bedrock-stable
- Can Mods from Java can be applied to Bedrock? : r/Minecraft - Reddit, accessed July 2, 2025, https://www.reddit.com/r/Minecraft/comments/184gcrp/can_mods_from_java_can_be_applied_to_bedrock/
- Bedrock Items - Dependencies - Minecraft Mods - CurseForge, accessed July 2, 2025, https://www.curseforge.com/minecraft/mc-mods/bedrock-items/relations/dependencies
- Online Java to JavaScript Converter - CodeConvert AI, accessed July 2, 2025, https://www.codeconvert.ai/java-to-javascript-converter
- How feasible is it to convert a Java to JavaScript project? - Stack Overflow, accessed July 2, 2025, https://stackoverflow.com/questions/18935140/how-feasible-is-it-to-convert-a-java-to-javascript-project
- LLM Agents for Code Migration: A Real-World Case Study - Aviator, accessed July 2, 2025, https://www.aviator.co/blog/llm-agents-for-code-migration-a-real-world-case-study/
- LangChain, accessed July 2, 2025, https://www.langchain.com/
- Migration - Python LangChain, accessed July 2, 2025, https://python.langchain.com/docs/versions/v0_2/
- How to migrate from v0.0 chains - Python LangChain, accessed July 2, 2025, https://python.langchain.com/docs/versions/migrating_chains/
- Introduction - LangChain/LangGraph, accessed July 2, 2025, https://docs.langchain.com/introduction
- The AI Engine uses LangChain runnables and a LangGraph state-graph pipeline (issue #1201).
- Tasks - LangChain/LangGraph, accessed July 2, 2025, https://docs.langchain.com/en/concepts/tasks
- Build AI Pair Programmer with LangChain/LangGraph - Analytics Vidhya, accessed July 2, 2025, https://www.analyticsvidhya.com/blog/2024/10/ai-pair-programmer/
- How to convert Minecraft java mods to bedrock? - Reddit, accessed July 2, 2025, https://www.reddit.com/r/Minecraft/comments/1ejunha/how_to_convert_minecraft_java_mods_to_bedrock/
- Converting java mod to bedrock : r/MinecraftBedrockers - Reddit, accessed July 2, 2025, https://www.reddit.com/r/MinecraftBedrockers/comments/1it403z/converting_java_mod_to_bedrock/
- AI Player - Minecraft Mod - Modrinth, accessed July 2, 2025, https://modrinth.com/mod/ai-player
- Socializing AI Agents in Minecraft | by Jay Kim - Medium, accessed July 2, 2025, https://medium.com/@bravekjh/socializing-ai-agents-in-minecraft-d2934466815f
- AI-Native Visual Comparison Tool Online | LambdaTest, accessed July 2, 2025, https://www.lambdatest.com/visual-comparison-tool
- Multimodal AI | Google Cloud, accessed July 2, 2025, https://cloud.google.com/use-cases/multimodal-ai
- How Multimodal AI Finally Solves Video Search for Good | by Michael Ryaboy - Medium, accessed July 2, 2025, https://medium.com/kx-systems/how-to-actually-search-video-in-2025-because-your-old-rag-pipeline-is-obsolete-f6c2fa000229
- LLMs May Not Be Human-Level Players, But They Can Be Testers: Measuring Game Difficulty with LLM Agents - arXiv, accessed July 2, 2025, https://arxiv.org/html/2410.02829v1
- Top AI Models Comparison: Features and Use Cases - Magai, accessed July 2, 2025, https://magai.co/top-ai-models-comparison-features-and-use-cases/
- Can you, as a programmer/gamer, develop an AI to build structures on Minecraft and sell the maps to YouTubers? - Quora, accessed July 2, 2025, https://www.quora.com/Can-you-as-a-programmer-gamer-develop-an-AI-to-build-structures-on-Minecraft-and-sell-the-maps-to-YouTubers
- Revolutionizing video search with multimodal AI - Kx Systems, accessed July 2, 2025, https://kx.com/blog/revolutionizing-video-search-with-multimodal-ai/
- AI Compare Two Documents - iDox.ai, accessed July 2, 2025, https://www.idox.ai/products/compare
- This Mod will add your own AI Friend to Minecraft! - YouTube, accessed July 2, 2025, https://m.youtube.com/watch?v=nJwo2Th-y3Y