Skip to content
Consumer & Local ServicesD-08Previous work

Frontdesk

An AI secretary and back office for small businesses, multi-tenant from the first row

Timeline
2026
Availability
Not publicly reachable
Repositories
1
Role
Product design, multi-tenant architecture and implementation
Summary
A business connects its own email, SMS, WhatsApp and phone number, and Frontdesk answers them — reading each message, drafting a reply in the business's voice, booking meetings against a real calendar, and holding everything for approval until the owner decides to let it send unattended. Around that inbox sits the rest of the back office: reception, staff attendance, invoicing and Ghanaian payroll statutories.
27
Screens
inbox, reception, finance, compliance, kiosk
56
API routes
including tenant-routed inbound webhooks
4
Channels
email, SMS, WhatsApp, voice

What it is

A small business misses work because nobody answered the phone. Frontdesk is the answer to that specific loss: the business connects the channels it already uses and an assistant sits behind all of them at once, reading what comes in, drafting what should go back, and putting meetings on the calendar while it drafts.

The default is draft-then-approve. Nothing leaves without the owner releasing it until the owner opts a category in — FAQs and scheduling confirmations can be allowed to send unattended, and everything else keeps waiting. Autonomy is something the business turns on per category, not the starting state.

Multi-tenancy is the architecture, not a setting

Every conversation, contact, setting and credential row carries the business it belongs to, and queries are scoped to the signed-in session rather than filtered in the interface. The harder half is inbound: all tenants share one set of webhook URLs, so routing has to work out which business a message belongs to before anything can be written. Inbound SMS and voice route on the receiving phone number, WhatsApp on the sender’s registered number id, and message ids dedupe the redeliveries that gateways send when they think a response was too slow.

Each business brings its own channel accounts, which means the platform stores other people’s API keys — so they are encrypted with AES-256-GCM at rest under a platform secret, and webhook signatures are verified per tenant.

The model provider is an abstraction on purpose

Drafting, voice turns, auto-reply classification and check-in photo verification all go through one interface with three implementations behind it: a paid frontier model for best quality, a free hosted endpoint, or a fully local model. The reason is cost geography. A product priced for a business in Accra cannot have a per-message cost floor set in a currency it does not earn in, so the operator picks the provider and the product works either way.

What grew around the inbox

The inbox was the starting point, and the back office followed it, because the businesses that need somebody to answer the phone need the same things immediately afterwards:

  • Reception — appointments, expected visitors and walk-in enquiries.
  • Attendance — staff clock in on a kiosk with a photo and a PIN, with lateness computed against their own working hours. The selfie is checked against an enrolled reference by a vision model, and when no provider is configured it falls back to storing the photo for a human to audit rather than silently passing everyone.
  • Finance — invoices, payments received and expense capture.
  • Statutory workings — SSNIT across its three tiers, NHIS and tax computed at Ghanaian rates, which is the part a general-purpose foreign tool never has.

Where it actually stands

The application is built and runs, and it has never been launched. Storage is a single SQLite file — deliberate, because it made the whole thing runnable with no infrastructure, and it is also the thing that has to change before deployment: the repository carries a launch checklist whose first item is that a filesystem database needs a host with a persistent disk, or a migration to Postgres. It is listed here as previous work rather than a product, because nobody can sign up for it.

Next product
Site Grader

Automated page-quality scoring, then an AI-assisted second opinion