Inspiration
Many independent business owners serve customers while also answering calls and messages. A delayed response can become a lost appointment, especially when customer and owner prefer different languages. As a full-stack developer in Katrineholm who speaks English, Swedish, Amharic, and Tigrinya and already works with local businesses, I wanted to build a front desk that could act quickly without pretending to know more than the owner has approved.
What it does
A business configures its services, prices, hours, and escalation rules. Customers then ask questions or request appointments through a multilingual assistant. Gemini detects intent, responds in the customer's language, gathers the minimum information required for a booking request, and escalates complaints, refunds, uncertainty, or restricted actions. Each decision includes its source, confidence, intent, action, status, and escalation state.
SelamDesk does not invent prices or claim that a booking is confirmed. A booking becomes booking-ready only after the service, requested time, and customer name are collected; owner confirmation remains explicit until a verified calendar integration is enabled.
How I built it
I built SelamDesk as a fully functional MVP within the hackathon timeframe, prioritizing a working core loop over unnecessary features.
The stack is Next.js and TypeScript, containerized and deployed serverlessly on Google Cloud Run for zero-ops scalability. For the AI brain, I integrated the official Google Gen AI SDK using Gemini's native multilingual reasoning to skip building separate translation and intent pipelines. This single-pass approach saved us critical dev hours while handling complex customer messages robustly.
Here’s the flow: Gemini interprets the incoming message, evaluates it against the owner's dynamic business rules, drafts the best response, and logs a structured decision record to Firestore. Every action captures the agent's choice, confidence score, and whether it correctly escalated to a human—giving owners full auditability out of the box.
To keep operations lean, I used Cloud Logging for structured event streaming and Secret Manager to securely store the single admin credential. While automated weekly reports are on our roadmap, I deliberately scoped them out to nail real-time performance during the hackathon. The result is a clean, working agent that ships in minutes.
Challenges I ran into
The main challenge was balancing fast autonomous service with business accountability. A fluent answer is not enough when a wrong price or false booking can harm a real customer. I addressed this with owner-approved facts, schema-validated outputs, a confidence threshold, explicit restricted actions, and inspectable decisions that exclude raw message text from durable logs.
Accomplishments that I am proud of
- A deployed multilingual Gemini front desk with strict business guardrails.
- Structured and inspectable AI decisions rather than unmeasured chat output.
- Privacy-safe logging and explicit human escalation.
- Server-authoritative business profiles and consented booking requests.
- A production architecture using Cloud Run, Firestore, Cloud Logging, and Secret Manager.
What I learned
Fluent multilingual output is not sufficient for a business agent: prices and rules must be server-authoritative, model output must be schema validated, and restricted actions must be enforced after the model responds. I also learned to separate useful decision evidence from raw customer messages and to label demonstration traffic separately from traction. Commercially, the pricing and unit economics remain hypotheses until paid arms-length pilots provide real retention, support-cost, and margin data.
What's next for SelamDesk
The immediate priority is to operate paid local pilots, reconcile real revenue and expenses, and compare response time and qualified-request conversion with each owner's baseline. After that, SelamDesk will deepen one workflow at a time: calendar confirmation, owner-approved messaging channels, and automated weekly reports. Expansion will follow proven customer demand rather than feature breadth.
Log in or sign up for Devpost to join the conversation.