Inspiration

A paid consultation should be about expertise, not language barriers, logistics, or uncertainty about what an AI is allowed to do. We set out to make it possible to find the right specialist across borders, book a real-time slot, speak naturally in different languages, and keep trust and payment clear throughout the call.

What it does

Consul is an AI-first marketplace for paid online consultations. Clients discover specialists, see available slots, book a consultation, and pay through a token balance. Experts control their price; the platform reserves and settles token-based payment as the live consultation runs.

Inside the session, live video and real-time voice translation help people speak across languages. A native AI assistant keeps the conversation focused and helps with the consultation context without becoming an unbounded actor on behalf of either participant.

Native iOS for both sides of the consultation

Consul also has a native SwiftUI iOS app, built with Codex, with separate experiences for client and expert roles. On mobile, a client can discover and save experts, book a session, review billing, and join a live consultation. An expert can manage availability, pricing, calendar, clients, payouts, and join the same LiveKit media room. Both sides can connect to the same session and talk with real-time caption and translation support.

The iOS app is not yet published on the App Store. It is a native, demonstrable product surface in active development, connected through the same mobile backend and real-time session boundary as the web product.

Three months of building

We built Consul over three months as a working product, from marketplace and booking flows through real-time consultation infrastructure. The result is not a chat demo: it is a product path from finding an expert, setting a price, booking a time, joining a live room, translating the conversation, and settling the session.

Build Week extension

For OpenAI Build Week, we meaningfully extended the live assistant path. Assistant Beta is launched through a server-owned Meet flow, delivers history through a durable ordered journal, and uses connector actions only with short-lived authority bound to the current caller, session, expert, route, and exact tool. This turns AI assistance in a paid live session into a dependable, auditable capability rather than a UI-only feature.

How we built it

Consul uses Next.js, React, and TypeScript for the web product; SwiftUI for the native iOS app; Go bounded-context services for marketplace, booking, billing, identity, and session workflows; and Python/FastAPI LiveKit agents for the real-time translation path. PostgreSQL, Redis, Kafka, Kubernetes, and LiveKit support the runtime.

During Build Week, we used Codex with GPT-5.6 to investigate existing boundaries and live failure modes, implement and test the assistant extension, review delivery evidence, and verify the deployment path. The repository contains a dated Build Week evidence trail alongside the source.

Challenges we ran into

The hard problem was not simply starting an assistant or charging for a call. It was preserving human authority and a recoverable record when a real-time worker, connector, or transport fails. We rejected shared worker credentials and UI-only state: authority is checked at the owning server boundary, recovery is durable and ordered, and a failed real-room join must be visible rather than silently becoming a demo.

Accomplishments that we're proud of

  • A complete consultation journey: specialist discovery, availability, booking, expert-set prices, and token-based live settlement.
  • Live video with real-time voice translation for cross-border consultations.
  • Native mobile experiences for both client and expert roles, connected to the same consultation session.
  • One native Assistant Beta with durable ordered history and bounded connector actions.
  • Guest booking, so a real consultation can start without requiring a pre-existing account.
  • A safety boundary for GitHub: the assistant may prepare a reviewable draft pull request on a reserved branch, but it cannot merge.

What we learned

In a high-trust, paid workflow, AI needs narrow and explicit powers. Treating identity, delegated authority, payment state, delivery ordering, and irreversible actions as product contracts makes the experience safer for both client and expert.

What's next for Consul

We will keep making the complete consultation loop easier to trust: broader specialist supply, clearer session economics, continuous translation quality, and end-to-end proof that every live-room, billing, and assistant transition behaves as promised.

Built With

Share this project:

Updates