Techparser product · Customer Support SaaS
How Techparser Built Evoriqa, a Multi-Tenant AI Customer-Support Platform
Techparser built Evoriqa, a multi-tenant AI customer-support platform live in production, with per-tenant retrieval on pgvector and metered AI credits.
- Owner
- Techparser
- Industry
- Customer Support SaaS
- Timeline
- Live in production
- Team
- 1 founding engineer, Techparser product team
Results
- 8 channels
- Web, WhatsApp, Instagram, Messenger, Slack, SMS, email, phone
- Shadow mode
- Agent drafts replies until a person approves
- pgvector
- Per-tenant retrieval in one PostgreSQL database
The problem
Evoriqa is a white-label AI customer-support platform for two kinds of customer: support teams running their own AI agent, and agencies running many client workspaces under one brand. A business uploads its knowledge, brands a chat widget, embeds it with one script tag, and connects the same agent to WhatsApp, Instagram, Messenger, Slack, SMS, email and a phone line. Every tenant's data has to stay isolated, and the agent may only answer from that tenant's own knowledge. Every conversation carries a real model cost that the platform pays, so usage has to be metered, and each channel has its own webhooks and limits.
The stakes are trust and cost. A retrieval or isolation bug would leak one business's content into another's answers, or let the agent invent facts that customers act on. Uncontrolled model cost turns a busy or abusive tenant into a loss. An unsupervised agent answering wrongly on a live channel damages the business's own customer relationships. Techparser designed the platform so isolation, grounding and metering are enforced by default.
What Techparser built
- Tenants, billing and vector search all live in one PostgreSQL database with pgvector, so a tenant's documents and embeddings fall under the same isolation.
- Uploads are processed by a background worker with retries, so a large upload never slows the app and an in-flight edit is never lost.
- Each question combines semantic and keyword search, scoped to one workspace and agent, so exact product names and paraphrases both match, including in Arabic and Chinese.
- When the knowledge base holds no good answer, the agent returns a fixed reply instead of guessing, and spends nothing on the model to do it.
- Test cases run against the live agent and are scored by a model judge, and each answer stores the chunks, scores and prompt it was based on.
- Chat, voice, actions and ingestion all draw from one credit balance; workspaces set a monthly spend cap, owners are emailed at thresholds, and when credits run out messages still reach a person.
- In shadow mode the agent drafts every reply into the team inbox and nothing reaches the customer until a person sends it, and a teammate can claim any conversation and reply in real time.
- One agent serves the web widget, WhatsApp, Messenger, Instagram, Slack, SMS, email and a phone line, and agencies resell it under their own brand and Stripe account.
- Integration credentials and sign-in secrets are encrypted at rest, users can enable two-factor sign-in, and platform staff use accounts separate from customers.
Decisions that mattered
One database for data and vectors
The decision was to keep tenants, billing and vector search in one PostgreSQL database with pgvector rather than run a dedicated vector store. A tenant's documents and their embeddings then fall under the same isolation rules, so there is no second system that could leak one business's content into another's answers, and one database to back up and reason about instead of two. The trade-off is a single database to scale rather than a store built only for vectors, which Techparser accepted because correctness of isolation mattered more than squeezing retrieval latency.
Autonomy earned in shadow mode
An agent that answers customers on a live channel can damage a business if it is wrong, so autonomy is not switched on blind. Between human-only and fully automatic, the agent drafts every reply into the team inbox, and nothing reaches the customer until a person sends it. Per-channel numbers, drafts, approvals and how much people edit, show when a channel is ready to run on its own. The trade-off is slower rollout, in exchange for a team that can see the agent is reliable on their content before trusting it to send.
Metering so cost cannot surprise
Every conversation has a real model cost the platform pays, so a busy or abusive tenant could become a loss. Chat, voice, actions and knowledge ingestion all draw from a single credit balance, so a workspace sees exactly what its AI use costs. Workspaces can set a monthly spend cap, and owners are emailed as usage crosses thresholds. When credits run out, customer messages still reach a person instead of being dropped. The decision was to make cost visible and bounded per workspace rather than absorb it centrally and hope usage stayed reasonable.
Outcome
Evoriqa is live in production at evoriqa.com, built and run by Techparser. Support teams and agencies use one AI agent across web chat, WhatsApp, Instagram and more, grounded in each tenant's own knowledge.
The design is what makes the platform safe to run. Per-tenant retrieval keeps one business's content out of another's answers. A single credit balance with spend caps keeps model cost visible and bounded. Shadow mode lets a team watch the agent draft replies before trusting it to send, so autonomy is earned channel by channel rather than switched on blind.
Questions about this project
- What technology stack does Evoriqa use?
- Evoriqa runs on Next.js and TypeScript. Data, billing and vector search all live in one PostgreSQL database with the pgvector extension, with Valkey for caching and queues. Stripe handles billing, Resend sends email, and OpenAI powers the agent and its embeddings. Keeping tenants and their vectors in one database means a tenant's documents and embeddings share the same isolation.
- How does Evoriqa keep one tenant's data out of another's answers?
- Isolation is enforced at retrieval, not just in the interface. Every search is scoped to one workspace and one agent before the model sees anything, and tenant data, billing and vectors share one PostgreSQL database so they fall under the same isolation rules. When the knowledge base holds no good answer, the agent returns a fixed reply instead of guessing, so it never invents facts a customer might act on.
- Can Techparser build a multi-tenant AI support platform like Evoriqa for us?
- Yes. Techparser built Evoriqa end to end: per-tenant retrieval, hybrid search, metered AI credits, shadow-mode rollout, live human takeover and connectors for eight channels. The same team can build a white-label support platform for your product, or embed an agent grounded in your own knowledge base. Book a call to discuss what you need.









