Case study · Energy & climate tech · AI agents
Dedicated chat server, AI-agent chat rooms and a React Native app for an energy-project procurement platform
A US platform for renewable and sustainable energy projects uses an AI agent to help buyers plan, validate and procure each project. Ethora supplies the real-time layer: a chat room for every project workspace where people and the AI agent talk, a dedicated chat server in the customer’s own cloud, push notifications and a React Native mobile app.
By the numbers
The project at a glance
1,130
chat rooms across development, staging and production, one per project workspace
99.99%+
monthly uptime on the production hosts from December 2025 to March 2026
No limits
on a dedicated Ethora chat server: no shared rate limits or noisy neighbours
iOS + Android
React Native app on the Ethora engine, with chat history shared with the web app
Overview
An AI-first procurement platform that needed a real conversation layer
Preshent is a US platform for managing energy projects (procurement, rebates and sustainable and tribal energy projects) with AI-driven decision support and blockchain-based financial flows. Buyers describe a project to JR AI, the platform’s AI agent, which turns it into requirements, checks them for gaps and contradictions, and recommends suppliers.
The challenge. Every project is a workspace with its own people, documents and AI context, and every conversation about it, human or AI, has to live in that workspace and reach people on the web and on their phones. Early on the chat ran on a shared, multi-tenant server, where rate limits and other tenants’ load could slow the agent’s replies. The platform also needed full ownership of its chat data and an API it could open to its own integrations.
The approach. The platform was built by our team (Ethora together with its sister AI engineering company, DeepX). Ethora provided the chat and mobile layer: per-workspace rooms provisioned automatically, a bridge that posts the AI agent’s messages into those rooms, push notifications, a dedicated Ethora chat server in the customer’s own cloud account, and a React Native mobile app. We also wrote the smart contracts for milestone-based escrow.
Requirements
What the project needed, and how Ethora met it
Each requirement is tagged by what came from the Ethora engine and what was built for this platform on top.
A chat room for every project workspace, with no manual setup
When a workspace is created, the platform’s backend creates its Ethora room and adds the workspace members through the API, and new users are provisioned into the chat automatically with a system welcome message. Conversations are stored persistently, and switching between workspaces loads the right room quickly without re-rendering the whole chat.
The AI agent as a participant in the room
The AI agent service publishes its replies to a message queue, and a chatbot bridge posts them into the workspace’s Ethora room, so people and the agent share one conversation. A second, background agent watches the project and drops clarification messages into the same room when it finds contradictions, ambiguity or missing information. Each workspace’s AI context and documents are isolated, and deleting a workspace wipes its embeddings, chat history and document metadata. More on AI agents in chat.
A model-agnostic agent, ready for a self-hosted LLM
The agent reaches language models through a routing layer, so the model behind it can change without touching the chat layer: several hosted models were evaluated during the project, and the same setup can point at an open model on the customer’s own GPU servers. Ethora’s self-hosted LLM option runs agents on open models on your own servers in the same way.
A dedicated chat server instead of a shared one
All users were migrated from the shared server to a dedicated Ethora (XMPP) server in the customer’s own cloud account, with backend secrets in the cloud’s secret manager and the web app pointed at the new chat domain. The move removed rate limits and noisy-neighbour effects, isolated the chat data, kept the agent’s replies stable, and gave the platform full control of the chat API for its own integrations and a branded chat widget on its own domain.
A mobile app on the same chat
We built the iOS and Android app in React Native on Ethora’s mobile engine: Google and email sign-in, the workspace list, the AI chat with streaming replies and a typing indicator, history synced with the web app, file and photo upload, chat that loads in about two seconds and recovers after a reconnect, dark mode, project milestones, notes and a wallet connection. The app went through TestFlight and internal Android testing.
Push notifications that open the right workspace
Ethora’s push service notifies users of new AI agent messages and project events, and a tap opens the right workspace room. A push API lets the platform backend send alerts that are not chat messages, such as project updates.
Payments tied to project milestones
Solidity smart contracts on Base let an admin deploy a contract per project, the buyer fund an escrow, and funds be released milestone by milestone, with every transaction hash stored for audit. Smart-contract wallets such as Coinbase Smart Wallet are supported.
Deployment
A dedicated Ethora chat server in the customer’s own cloud
Development, staging and production each have their own chat environment. Production chat runs on a dedicated Ethora server in the customer’s cloud account, next to the platform’s own services and the AI agent servers. The same server can be self-hosted on any major cloud or installed from a marketplace.
Where this stack runs
Security and data
Isolated chat and AI data
The move to a dedicated server was as much about data ownership as about speed.
Dedicated instance
The chat server runs in the customer’s own cloud account, not on a shared multi-tenant server.
Workspace boundaries
Rooms, members and AI context are scoped to each project workspace, with admin and member roles.
Full deletion
Deleting a workspace removes its embeddings, chat history and document metadata.
Audit trail
Escrow transactions are stored with their hashes for audit and traceability.
“Ethora has been an exceptional strategic development partner for Preshent. Not just a vendor, but a core contributor to the future of our platform and company.”
John RichardsonFounder & CEO, Preshent Corporation
The outcome
An AI agent that lives where the project conversation happens
By spring 2026 the platform ran 1,130 chat rooms across its three environments, with the production hosts at 99.99% to 100% monthly uptime. Moving to the dedicated server ended the slowdowns caused by shared infrastructure and gave the platform its own chat API and data. The same pattern fits any AI product where an agent works alongside a team: one room per project or case, the agent as a participant, and the chat on infrastructure the customer controls.
FAQ
Can each project, workspace or case get its own chat room automatically?
Yes. Your backend calls the Ethora API when a workspace is created, and the room and its members are provisioned automatically.
Why move from a shared chat server to a dedicated one?
A dedicated server removes rate limits and other tenants’ load, isolates your chat data, and gives you full control of the chat API. It can run in your own cloud account. See Get Ethora.
Can the AI agent run on a self-hosted LLM?
Yes. Ethora’s self-hosted LLM option runs agents on open models on your own servers, and agents built elsewhere can use a model routing layer to switch between hosted and self-hosted models.
Is there a mobile app?
Ethora provides a React Native chat engine and a white-label app. On this project we built a React Native app with the AI chat, workspaces, push notifications and a wallet connection.
More case studies
Give your AI product a real conversation layer
Rooms per workspace, your AI agent as a participant, push and a mobile app, on a dedicated server in your own cloud.