{"id":64,"date":"2026-07-22T17:21:07","date_gmt":"2026-07-22T17:21:07","guid":{"rendered":"https:\/\/emporiant.com\/developer\/?p=64"},"modified":"2026-07-22T17:27:01","modified_gmt":"2026-07-22T17:27:01","slug":"inside-iridium-one-architecture-of-a-privacy-first-on-prem-ai-appliance","status":"publish","type":"post","link":"https:\/\/emporiant.com\/developer\/technical\/inside-iridium-one-architecture-of-a-privacy-first-on-prem-ai-appliance\/","title":{"rendered":"Inside IRIDIUM ONE: Architecture of a Privacy-First On-Prem AI Appliance"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Most AI deployments today assume the cloud. For SMBs operating under DSGVO, that assumption is often the deal-breaker: data residency, vendor lock-in, and unpredictable inference costs make cloud-first AI a hard sell. IRIDIUM ONE was built to remove that trade-off entirely \u2014 a self-contained hardware appliance that runs the full AI stack on-premises, with no data ever leaving the building.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This post walks through the hardware, the software stack, and the architectural decisions behind it.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Why On-Prem, Why Now<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">DSGVO compliance for AI workloads usually means one of two unsatisfying paths: heavily audited cloud contracts with data processing agreements that few SMBs have the legal bandwidth to negotiate, or no AI adoption at all. IRIDIUM ONE targets the gap between those two options \u2014 a physical box that an SMB owns, controls, and can point to during an audit.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The differentiator isn&#8217;t a new model or a novel algorithm. It&#8217;s packaging: taking an already-strong open-source AI stack and making it deployable, supportable, and maintainable by a business with no in-house ML team.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Hardware Baseline<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The current generation runs on an AMD Ryzen 9 8945HS. That choice is deliberate rather than a spec-sheet flex:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Integrated NPU + iGPU<\/strong> gives enough on-device acceleration for local inference without needing a discrete GPU card, which keeps the appliance compact, quiet, and low-power enough to sit under a desk or in a server closet rather than a dedicated rack.<\/li>\n\n\n\n<li><strong>AMD&#8217;s ROCm stack<\/strong> provides the compute layer, which matters for long-term cost control \u2014 no dependency on CUDA licensing or Nvidia&#8217;s supply constraints.<\/li>\n\n\n\n<li><strong>Ubuntu Server<\/strong> as the host OS keeps the base image minimal, scriptable, and easy to reproduce across units.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This is a deliberately different bet from the &#8220;throw an RTX card at it&#8221; approach common in the local-AI hobbyist space. The goal isn&#8217;t maximum tokens-per-second on a benchmark \u2014 it&#8217;s a reliable, serviceable unit that a non-technical business owner can plug in.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Software Stack<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">IRIDIUM ONE&#8217;s software layer is composed of a small number of well-understood open-source components, glued together with a custom orchestration layer:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ollama<\/strong> handles local LLM inference and model lifecycle (pulling, quantizing, swapping models on demand).<\/li>\n\n\n\n<li><strong>ComfyUI<\/strong> covers image\/generative workloads where a client needs visual content generation as part of their workflow.<\/li>\n\n\n\n<li><strong>FastAPI<\/strong> is the backbone service layer \u2014 it exposes a unified internal API so the frontend and any downstream client integrations don&#8217;t need to know which underlying engine (Ollama vs. ComfyUI) is actually serving a given request.<\/li>\n\n\n\n<li><strong>SQLite<\/strong> handles local persistence \u2014 deliberately lightweight, since the appliance is single-tenant and doesn&#8217;t need the operational overhead of a networked database.<\/li>\n\n\n\n<li><strong>RAG (retrieval-augmented generation)<\/strong> sits on top of the LLM layer, letting the appliance ground responses in a client&#8217;s own documents without retraining or fine-tuning.<\/li>\n\n\n\n<li>A <strong>white-label frontend<\/strong> sits on top of all of this, so the same underlying stack can be reskinned per client or per Emporiant product tier.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The design principle running through all of this: every component is swappable independently. If a better local inference engine than Ollama emerges, it should be possible to replace that one layer without touching FastAPI, the RAG pipeline, or the frontend.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">The Five-Tier Product Architecture<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Rather than shipping IRIDIUM as a single monolithic product, it&#8217;s structured across five tiers \u2014 Studio, Core, Agents, Suite, and Hub. This separation exists so that a client&#8217;s technical maturity and budget determine how much of the stack they&#8217;re actually running, rather than forcing a one-size-fits-all deployment. A client early in their AI adoption might run Core alone; a client further along layers in Agents and Suite as their workflows mature.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>Hub<\/strong> tier is the launcher and control surface \u2014 the piece a non-technical operator actually touches day to day. It&#8217;s built with a chamfered-corner UI reminiscent of HPE&#8217;s enterprise hardware design language, which matters more than it might sound: on-prem hardware appliances live or die by whether a business owner trusts the thing sitting in their office. Visual polish is a legitimacy signal for a physical AI product in a way it isn&#8217;t for a SaaS dashboard.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">IRIDIUM CODR: A Dispatcher, Not Another Model<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Sitting alongside the core appliance is IRIDIUM CODR, a multi-AI coding dispatcher shipped as an Electron desktop app. Rather than betting on a single coding model, CODR routes tasks across 12 different providers based on the nature of the task.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The architectural bet here is that no single model is best at everything \u2014 a refactor task, a greenfield scaffold, and a bug-hunt each have different ideal models, and the dispatcher pattern lets CODR pick the right tool per request instead of forcing a single provider relationship. This mirrors the same swappable-layer philosophy as the ONE hardware stack: the value is in the orchestration layer, not in owning a proprietary model.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">What This Means for Deployment<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Bringing the hardware and software choices together, the practical result is an appliance that:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Never sends client data off-premises, satisfying DSGVO data residency requirements without a DPA negotiation<\/li>\n\n\n\n<li>Runs on commodity, low-power hardware rather than requiring a rack-mounted GPU server<\/li>\n\n\n\n<li>Can be upgraded component-by-component as better open-source tooling emerges, rather than requiring a full hardware refresh<\/li>\n\n\n\n<li>Scales from a single Core deployment up through Agents, Suite, and Hub as a client&#8217;s needs grow<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The next posts in this series will go deeper into the RAG pipeline design and the CODR provider-routing logic specifically.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Most AI deployments today assume the cloud. For SMBs operating under DSGVO, that assumption is often the deal-breaker: data residency, vendor lock-in, and unpredictable inference costs make cloud-first AI a hard sell. IRIDIUM ONE was built to remove that trade-off entirely \u2014 a self-contained hardware appliance that runs the full AI stack on-premises, with no [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"service_tag":[],"class_list":["post-64","post","type-post","status-publish","format-standard","hentry","category-technical"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/emporiant.com\/developer\/wp-json\/wp\/v2\/posts\/64","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/emporiant.com\/developer\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/emporiant.com\/developer\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/emporiant.com\/developer\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/emporiant.com\/developer\/wp-json\/wp\/v2\/comments?post=64"}],"version-history":[{"count":2,"href":"https:\/\/emporiant.com\/developer\/wp-json\/wp\/v2\/posts\/64\/revisions"}],"predecessor-version":[{"id":73,"href":"https:\/\/emporiant.com\/developer\/wp-json\/wp\/v2\/posts\/64\/revisions\/73"}],"wp:attachment":[{"href":"https:\/\/emporiant.com\/developer\/wp-json\/wp\/v2\/media?parent=64"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/emporiant.com\/developer\/wp-json\/wp\/v2\/categories?post=64"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/emporiant.com\/developer\/wp-json\/wp\/v2\/tags?post=64"},{"taxonomy":"service_tag","embeddable":true,"href":"https:\/\/emporiant.com\/developer\/wp-json\/wp\/v2\/service_tag?post=64"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}