New Customer insights on your dashboard →

Your customers ask. Your own records answer.

Banimark is an AI front desk that lives on your own server. It answers from your real records, hands the tricky ones to your team, and your customers’ data never leaves your hands.

  • 7-day free trial, no card
  • Your server, your AI key
  • Updates with one button
Runs beside the stack you already have Laravel Custom PHP CodeIgniter Node.js Python Docker
How it works

One question at 11:48 pm, start to finish

No model to train, no knowledge base to write, no prompt to engineer. You point the assistant at the records it may read and write your rules in plain sentences.

  1. A customer asks

    On your website, the shareable chat link or your mobile app.

    Has order #4417 shipped?
  2. It checks your records

    A read-only lookup you set up once - only this customer’s rows.

    order_status · #4417
  3. It answers

    In the customer’s language, following your rules.

    Yes - it shipped Tuesday and arrives tomorrow.
  4. A person when needed

    Anything it should not decide goes to your team, with the full history.

    handed to Priya · inbox
Built for how you sell

See it at work in a business like yours

Every example below is a real lookup against the business’s own records. Banimark reads; it never changes anything - changes go to a person.

Online shops using Banimark
Online shops
Orders answered while you pack

Online shops

Customers ask where their parcel is, whether it comes in their size and how returns work. Banimark checks your own order and stock tables and answers in seconds - day or night.

Where is order #4417?
order_status · your orders table
It left our warehouse on Tuesday with DHL and is due tomorrow before 6 pm.
Answered from your records
Delivery & logistics using Banimark
Delivery & logistics
Fewer “where is it?” calls

Delivery & logistics

Senders and receivers track shipments, ask about delays and check delivery windows. Each customer only ever sees their own consignments.

Has my parcel left Lagos yet?
shipment_track · scoped to this customer
Yes - it cleared the Lagos hub at 09:40 and is on the Abuja route today.
Only this customer’s shipments
Clinics, salons & studios using Banimark
Clinics & salons
Front desk that never puts people on hold

Clinics, salons & studios

Clients ask about open slots, prices and preparation. Banimark reads your calendar and price list; moving a booking goes to your front desk with the whole conversation attached.

Can I move my appointment to Friday?
open_slots · Friday
Friday has 11:00 and 15:30 free. I’ve passed your request to the front desk to confirm.
Handed to your team with context
Schools & training using Banimark
Schools & training
Enrolment questions, any hour

Schools & training

Parents and learners ask about start dates, fees and requirements. Answers come from your own course list, so they are never out of date.

When does the next data course start?
courses · upcoming
The next cohort starts on 6 October, evenings, 12 weeks. Fees and the payment plan are on the course page.
Answered from your course list
Property & rentals using Banimark
Property & rentals
Viewings booked while you show a flat

Property & rentals

Tenants and buyers ask what is available, what it costs and when to view. Banimark reads your listings; viewing requests land in your inbox.

Is the 2-bed on Ridge Road still available?
listings · Ridge Road
Yes - available from 1 November. Would you like me to ask an agent to arrange a viewing?
Live from your listings
Travel & events using Banimark
Travel & events
Bookings checked in seconds

Travel & events

Guests confirm bookings, check what is included and ask about changes. Every answer is scoped to the guest who is signed in.

Is my booking for 12 October confirmed?
bookings · signed-in guest
Confirmed - two guests, arriving 12 October, breakfast included.
Only this guest’s bookings
What you get

A support desk, not a chatbot toy

01

Answers from your data

Read-only lookups you define in the panel - or describe in plain English and let the assistant draft one for you. SELECT only, values always bound, results limited to the columns you ticked, rows scoped to the signed-in visitor by a token your app signed.

customer asks→your lookup→your database→answer
02

Nothing leaves your server

Your server, your database, your AI key. No vendor sits between you and your customers, and there is no per-conversation meter running.

03

Hands off to a human

Your team replies from a live inbox with quick replies and typing indicators - and you decide whether a handover may happen out of hours.

04

One inbox, wherever they ask

The website widget, a shareable full-page chat for emails and QR codes, and a Flutter SDK for your app - all the same conversation, all the same inbox.

05

Your team, not your users

Banimark has its own logins with per-person permissions and optional two-factor, so giving a colleague the inbox never means giving them your app.

06

Updates with a button - and a way back

New version? Press Update in your own admin panel. It downloads the release, checks it really came from us, keeps a copy of the old one and swaps it over. If an admin page ever breaks, the error screen itself checks for a fix. No queue, no Redis, no build step, no cron.

07

Rules, not prompts

“Never promise a refund date.” Rules live in folders you can reorder and switch off - plain sentences, no prompt engineering.

Customer insights

What your customers keep asking for

Press one button and your AI reads a month of conversations and tells you what people ask about, what they want you to offer, and where they get stuck.

  • Topics, requests and sentiment - with the share of conversations behind each
  • Concrete ideas: a page to add, a policy to clarify, a product to restock
  • Email addresses and phone numbers are removed before anything is read
The part that matters

It cannot read what you did not give it

Most “AI on your data” products ask you to trust a prompt. Banimark does not ask, because the model never gets the chance.

What the model supplies

The order number the customer just typed. That is it — and it arrives as a bound parameter of a declared type, never as text spliced into SQL.

What your server supplies

Who is asking. That comes from a token your application signed, so row scoping is decided server-side. Missing identity means the lookup refuses to run — it never quietly runs unscoped.

How the signed visitor token works →

Install

Works with what you already run

One command in Laravel. One file anywhere else in PHP. A small service beside your Node or Python app. You do it once — after that it updates itself from a button in your panel.

Pricing

Buy a licence, not a meter

Most popular

Starter

$25
per month
  • 1 site
  • 2 staff accounts
  • 5 tools
  • free updates and support
  • The Flutter mobile SDK
  • Remove Banimark branding from the widget
  • Priority support
Get Starter

Business

$50
per month
  • 1 site
  • 5 staff accounts
  • 20 tools
  • free updates and support
  • S3-compatible file storage
  • The Flutter mobile SDK
  • Remove Banimark branding from the widget
  • Priority support
Get Business
Try it

The assistant on this page is Banimark

Not a recording and not a sandbox — it is a real install, on this server, answering from this site's own database. Ask it what a licence costs, what your server needs, or how to install it on your stack. If it does not know, it says so and offers you a person — which is exactly what yours will do.

The widget

Bottom corner of this page, on every page. One <script> tag is the whole embed.

As a link

The same chat as a full page — for emails, QR codes and signatures.

Open the chat page →

On mobile

The same conversation in a native app, built with the Flutter SDK.

Get the test build →

What it tells you about pricing and versions is read live from the same tables that issue your licence — so it cannot quote a plan that does not exist.

Questions

The things people ask first

Where does my customer data go?

Nowhere. Banimark installs on your server and writes to your database. Conversations, attachments and customer records stay on your infrastructure. The only thing that leaves is the request you already chose to make: the prompt your assistant sends to the AI provider whose key you supplied.

Which AI does it use?

Google Gemini, with your own key - billing stays between you and Google. You pick the model from a list, and every model on that list has been tested with Banimark first: looking things up, remembering the conversation, and handling files customers send. When Google releases a new model, we test it before it appears in your list.

Can it answer about one specific customer’s order?

Yes, and only theirs. You define read-only lookups in the panel - pick a table, tick the columns the assistant may show, and scope the rows to the signed-in visitor. The scoping value comes from a token your app signed, never from the AI, so the model cannot widen a query to somebody else’s rows. A lookup with no identity context refuses to run rather than running unscoped.

What if a customer needs a real person?

The assistant hands the conversation to your team, with the whole history, and your team replies from a live inbox. You decide when that happens - only when asked, when the customer is upset, or whenever the AI is unsure - and whether it may happen outside your working hours.

Do I need to be running PHP?

On the server, yes - Banimark is a PHP application. Your app does not have to be. On Node, Python, Go or Rails it runs as a small PHP service on the same machine, mounted under one path by your web server, and your application is not modified. If the server has no PHP at all, install it in about five minutes or run the Docker stack.

What does it need on the server?

PHP 8.2 or newer with ext-curl, ext-json and a PDO driver; the ionCube loader, because licensed builds ship encoded; a database (MySQL, MariaDB, PostgreSQL or SQLite); and Composer. No queue worker, no Redis, no Node build step, no cron job.

What happens when my licence expires?

Your chat keeps working. That is deliberate: a lapsed invoice must never take down a live support channel. Only the admin panel locks, until a valid key is entered. An install also stays valid offline for fourteen days at a time, so a network problem - on your side or ours - never interrupts anything.

Is there a mobile SDK?

Yes - banimark_flutter gives a Flutter app the same chat natively: themeable bubbles, human handover with live agent replies, resume on reopen, file attachments and guest mode. There is also a shareable full-page version of the chat for email signatures and QR codes.

Running a bank, a telco or a retail chain? Security reviews, your own AI contract and a guided rollout.

Banimark for enterprise →

Put it on your server this afternoon

Pick your stack and follow one page — or send us your hosting details and we will install it for you, usually the same day. Either way you update it afterwards from a button in your own panel.