Skip to content

Offline Support Kiosk

A self-service assistant that works without internet.

Industry Level Difficulty Recommended mode
Customer support 5 of 5 Frontier flat
  • Stores, factories and remote sites have poor connectivity.
  • Staff need answers anyway.
  • Devices lose power.
  1. The knowledge base is shipped as a SrvDB folder.
  2. Search runs locally.
  3. Crash-safe storage survives power loss.
  4. Updates are new folder snapshots.
Today With Offline Support Kiosk on SrvDB
No help offline Full help offline
Paper manuals Searchable knowledge
Corrupted local data Crash-safe
  1. Build the knowledge base centrally.
  2. Ship snapshots.
  3. Search locally.
  4. Collect questions offline.
  5. Sync later.
  • Fully offline: SrvDB runs in-process and never opens a network connection.
  • Crash-safe persist(): after it returns, data survives a crash or power loss and reopens exactly as committed.
  • SQ8 compression (sq8): stores each value in one byte, 4× smaller than full precision.
  • Exact search (flat): every query compares against every stored vector, so results are exact and explainable.
  • Retail stores
  • Factory floors
  • Ships
  • Rural service centres
  • Appliances
  • Events

embed() is your embedding model (for example sentence-transformers, or a function that turns your records into feature vectors).

import json
import srvdb
db = srvdb.Database("./offline-support-kiosk-db", dimension=384)
def ingest(items):
"""items: list of (id, text, metadata dict)"""
db.upsert(
ids=[i for i, _, _ in items],
embeddings=[embed(t) for _, t, _ in items],
metadatas=[json.dumps(m) for _, _, m in items],
)
db.persist() # crash-safe checkpoint
def kiosk_answer(question, k=5):
hits = db.search(embed(question), k)
return [(json.loads(db.get(i)), round(score, 3)) for i, score in hits]
  • Snapshots must be refreshed regularly.
  1. Prototype: load a sample of real data with flat mode and check that searches return what an expert expects.
  2. Measure: if you move to an approximate mode, compare its results with flat on the same queries (recall).
  3. Pipeline: add continuous upsert and decide when to call persist().
  4. Harden: test restarts and crashes, add logging, review every output path with domain experts.
  5. Deploy: ship the database directory with the application or service.
Level Project What it does
1 · Beginner Knowledge Base Search Customers and agents find the right article from their own words.
2 · Intermediate Helpdesk Answer Bot Drafts replies from similar solved tickets and articles.
3 · Advanced Ticket Deduplicator Finds duplicate tickets and emerging issue clusters.
4 · Expert Customer Memory Agent Remembers each customer’s history across conversations.
5 · Frontier Offline Support Kiosk (this page) A self-service assistant that works without internet.

See also: Use cases · Live examples (coming soon)