Sotto
AI voice ordering for restaurants.
How Sotto built a voice-first AI ordering system on 6 KaritKarma platform services. 29 projects in a monorepo, 609 tests, sub-500ms latency, and full GDPR compliance.
The Challenge
Restaurants are missing calls and losing orders.
Phone orders still account for a significant share of restaurant revenue. But during peak hours, calls go unanswered. Staff are stretched thin. Language barriers frustrate customers. And every missed call is a lost order.
Missed Calls During Peak Hours
Staff can't answer every call when the kitchen is slammed. Customers hang up and order elsewhere.
Language Barriers
Diverse customer bases need multi-language support. Human staff can't cover every language.
Staff Shortages
Hiring and retaining front-of-house staff is harder than ever. Wages rise while margins shrink.
Platform Integration
6 platform services, zero reinvention.
Instead of building auth, payments, telephony, and commerce from scratch, Sotto integrates 6 KaritKarma platform services. Each one is battle-tested and shared across the ecosystem.
Wenme
AuthenticationPasswordless login for restaurant owners and staff. WebAuthn/FIDO2 with zero password breaches.
Darwan
RBACMulti-tenant authorization. Owner, manager, and staff roles with per-restaurant scoping.
BitsPath Voice
TelephonyCarrier-grade PBX for inbound call routing. IVR, ring groups, and real-time transcription.
BitsPath
NotificationsOrder confirmations via SMS, email, and WhatsApp. Real-time alerts for kitchen and delivery.
LoneSock Pay
PaymentsOne API for bKash, Nagad, Stripe, and cards. Automatic settlement and refund management.
Loom
Menu & CommerceMenu management, item variants, modifiers, and pricing. Real-time inventory sync.
Architecture
29 projects, one monorepo.
Sotto is structured as a .NET monorepo with Clean Architecture. Each bounded context — voice, ordering, menu, payments — is its own set of projects, sharing a common domain kernel and infrastructure layer.
29-Project Monorepo
Organized into domain layers: API, Application, Domain, Infrastructure, and Shared. Each bounded context has its own project.
.NET Backend
Built on .NET with Clean Architecture. Domain-driven design with rich domain models and explicit aggregates.
Event-Driven Messaging
RabbitMQ with MassTransit for async workflows. Order placed, payment received, kitchen notified — all decoupled.
Voice AI Pipeline
Real-time speech-to-text, intent classification, entity extraction, and text-to-speech. Multi-language support from day one.
Testing & Quality
609 tests. Sub-500ms latency target.
Voice AI has zero tolerance for latency or errors. A 1-second delay feels like an eternity in a phone conversation. Sotto's test suite covers every critical path — from intent classification to payment processing — with a hard P95 latency target of 500ms.
Results
What the platform ecosystem delivers.
By building on 6 shared platform services, Sotto shipped faster and operates with fewer moving parts. Here is what that looks like in practice.
Zero missed calls
AI answers every call, 24/7. No more lost orders during peak hours.
Language barrier eliminated
Customers order in their preferred language. AI handles translation in real time.
Staff freed for service
Front-of-house staff focus on hospitality instead of answering phones.
Sub-500ms voice latency
Conversations feel natural. No awkward pauses or robotic delays.
GDPR-compliant by design
Call recordings, transcripts, and customer data follow strict data retention policies.
6 platform services integrated
Auth, RBAC, telephony, notifications, payments, and commerce — all from the KaritKarma ecosystem.
Explore Sotto
Voice AI that never misses a call.
See how Sotto can transform your restaurant's phone ordering with AI that speaks every language, handles every order, and integrates with your existing systems.