Skip to content
Nganba Irom
All work

Botlune

Businesses get an embeddable chat widget backed by Google Gemini and their own knowledge base, with every tenant isolated at the database level.

Client
Own product
When
Side project
Role
Design, architecture and build
Stack
Next.js 15, TypeScript, Supabase, PostgreSQL, Gemini Flash, Tailwind CSS
messagepromptrealtimeWebsite visitoron a client siteChat widgetembeddable scriptNext.js APITypeScriptGemini Flashprompt + KB contextSupabase PostgresRLS per tenantTenant adminbusiness ownerDashboardrealtime analytics

Context

Small businesses want an AI assistant that answers questions about their own products, without building one. Botlune is a SaaS that gives each business its own bot, trained on its own content.

The challenge

Many businesses share one platform, so one tenant must never see another's conversations or knowledge base. The bot also has to answer from that tenant's content, not from general knowledge.

How it was built

  • Isolation in the database

    Supabase Row-Level Security policies scope every row to its tenant, so isolation does not depend on remembering a filter in application code.

  • Grounded answers

    Each request to Gemini Flash is built with dynamic prompt injection and the tenant's knowledge base as context.

  • Embed anywhere

    A responsive chat widget that clients drop onto their own websites.

  • Live dashboard

    A real-time conversation dashboard and analytics for each tenant.

Results

tenant isolation enforced in the database
RLS
tenant isolation enforced in the database
to embed the widget on any site
1 script
to embed the widget on any site
  • Multi-tenant architecture secured with Supabase RLS.
  • Gemini Flash answers grounded in each tenant's knowledge base.
  • Embeddable widget plus real-time dashboard and analytics.