Skip to content
maida's desktop
Back to selected work Live product
Flowbots
VOICE AI · END-TO-END PRODUCT ENGINEERING

Every conversation. A next step.

An AI receptionist platform that connects calls, messages, bookings, and follow-ups—giving service businesses a way to keep responding while their people are busy doing the work.

Explore the live product
MY ROLE
End-to-end development
THE SCOPE
Product, frontend, backend & voice AI
BUILT FOR
Service businesses & their teams
flowbots / product introductionLIVE PRODUCT
The public experience explains the job in plain language and lets visitors discover agents for different service businesses.
01 / THE PROBLEM & MY ROLE

The phone keeps ringing. The work doesn’t stop.

For a service business, the next customer often arrives while the team is already helping someone else. A missed call can leave a booking unfinished. A new lead needs a response, an existing customer wants to reschedule, and a text may contain information the next person answering the phone needs to know.

Flowbots brings those interactions into one operating system. The challenge was larger than making an agent speak: it needed to understand the business, use the right tools, carry context between channels, and make the resulting work visible to the team.

WHAT I OWNED

I built Flowbots end to end: the public product experience and dashboard, business setup, agent configuration, operational APIs, voice and messaging workflows, CRM connections, and the infrastructure that records outcomes and usage. The work joined real-time conversations to the practical details of running a service business.

3 rolesinbound, outbound & text agents
One flowfrom first contact to follow-up
Humanhandoff and operational oversight
02 / INSIDE THE PRODUCT

From the first hello
to the work that follows.

  1. 01Learn the business
  2. 02Answer & understand
  3. 03Book or hand over
  4. 04Follow through
01

Make the work visible after the conversation.

The home screen brings attention items, calls, leads, bookings, and handoffs into one operating view. Its funnel shows where new leads stop moving forward, while urgent items give the team a place to act. The Messages inbox carries the conversation context into human follow-up: replying takes over from the agent until the team hands it back.

  • Attention items alongside activity
  • A lead-to-booking view
  • Explicit human takeover in conversations
flowbots / daily operating viewLIVE PRODUCT
A cropped view of the test workspace connects activity to the work needing a person. These figures are test activity, not business impact metrics.
02

Treat an agent as a versioned product.

Each agent has a role, instructions, voice configuration, tool access, and a published version. The interface separates saved drafts from the version customers hear and shows where the agent is connected to phone numbers. A visible version history gives operators a way to inspect previous releases and roll back deliberately.

  • Distinct inbound, outbound, and text roles
  • Draft and published states
  • Visible release history and rollback controls
flowbots / agent lifecycleLIVE PRODUCT
Published versions, number assignments, and version history make an agent’s live state explicit. Shown on a test agent.
03

Turn model choices into business choices.

A business owner needs to understand how the receptionist will sound and behave. The voice screen presents presets through practical tradeoffs: naturalness, adherence to the script, response speed, and estimated cost. Advanced controls remain available for a custom setup, while the main comparison makes the decision understandable without needing to know the speech stack.

flowbots / voice choicesLIVE PRODUCT
Voice presets explain naturalness, adherence to instructions, response speed, and price before the business chooses a configuration.
04

Design what happens when nobody answers.

The first attempt is only part of the workflow. Flowbots supports call-first, text-first, and single-channel approaches, then shows the longer follow-up rhythm as a timeline. Schedule previews make the dates concrete. Replies, bookings, STOP messages, and a teammate taking over end automated follow-up; sending windows and consent rules are handled by the surrounding application.

flowbots / follow-up journeyLIVE PRODUCT
A visible timeline connects the first attempt to a longer follow-up cadence, with stopping rules for replies, bookings, opt-outs, and team takeover.
05

Make testing part of the operating experience.

The quality workspace brings browser testing, simulated customer scenarios, expected behavior, and run results into the agent interface. Tests can cover bookings, handoffs, interruptions, and business boundaries. The platform distinguishes testing a saved draft from changing the published agent, so reviewing behavior is part of the release workflow.

  • Scenario-based expectations
  • Simulated booking and contact actions
  • Text and voice test paths
flowbots / test before publishingLIVE PRODUCT
Scenario tests define what the agent should do before it is put in front of customers. Bookings, contacts, and transfers in these scenarios are simulated.
03 / UNDER THE SURFACE

A conversation in real time.
A system behind every step.

The web application, voice runtime, operational API, and durable event processing connect a live conversation to the business systems that act on it.

flowbots / system architecture4 LAYERS
  1. 01

    The business workspace

    Next.js · React · TypeScript

    A shared dashboard connects setup, agents, calls, conversations, and operational settings. React Query handles server data, while reusable interface components keep the experience consistent across the platform.

  2. 02

    Operational context & APIs

    FastAPI · Python · PostgreSQL

    Tenant-scoped APIs connect business context, contacts, calendars, conversations, and follow-up settings. The application coordinates work through CRM integrations or its own contact and booking paths.

  3. 03

    Real-time voice & messaging

    LiveKit · Twilio · Agent tools

    A dedicated voice runtime manages live sessions, speech, turn detection, interruptions, and tool calls. Published text agents use conversation history and business context to produce replies and carry out supported actions.

  4. 04

    Outcomes, follow-up & usage

    Persisted jobs · Outboxes · Billing API

    Call outcomes travel through a durable outbox, lead outreach advances through persisted jobs, and usage events are recorded with retry handling. Stable event keys help prevent duplicate processing across services.

Next.jsReactTypeScriptTailwind CSSFastAPIPythonLiveKitTwilioPostgreSQLGoHighLevel
ENGINEERING DECISION / 01

Separate conversation timing from business processing.

A live conversation cannot wait for every downstream integration. The voice runtime handles the session while normalized outcomes are delivered through a persisted outbox with retries and a terminal failure state. This gives the operational system a way to recover when another service is temporarily unavailable.

ENGINEERING DECISION / 02

Carry context across channels without repeating actions.

The text runtime loads customer context, recent conversation history, tool results, and incoming photos. Completed jobs return their stored result. If a model fails after a write action, the workflow hands off instead of blindly retrying a booking or saved change.

ENGINEERING DECISION / 03

Put outreach rules into the execution path.

Consent checks, suppression, sending windows, and lead-local time rules are enforced in application code. Follow-up work can wait for an allowed window, and usage recording uses stable event keys and a durable retry queue. These controls are part of the system around the agent.

04 / WHAT SHIPPED

A working receptionist.
An operating platform behind it.

Flowbots brings the customer-facing agent and the business-facing workspace together. A business can configure how it responds, connect its operational context, inspect conversations, test agent behavior, and manage the work that follows. The platform spans inbound voice, outbound outreach, text messaging, and human handoff in a common application experience.

  • Public product experience and authenticated business dashboard
  • Business context, agent setup, and voice configuration
  • Real-time voice sessions and contextual messaging
  • Contact, calendar, and CRM integration paths
  • Persisted follow-up, call outcomes, and usage processing
  • Agent versioning, voice presets, and scenario-based quality workflows

The useful part of an AI receptionist is what happens after it understands the caller. A booking needs to reach a calendar, a handoff needs context, and a follow-up needs to respect the customer’s response. Building Flowbots meant making those transitions part of the product.

Captured from the live product and its test workspace. Crops exclude account details, contact records, and wallet balances. Test activity and marketing examples illustrate the interface; they are not reported business results.

Thoughtful systems. Useful AI. Real work.

Building something ambitious?

Back to all projects
Flowbots homepage with its AI receptionist introduction and four live demo agent cards

The public experience explains the job in plain language and lets visitors discover agents for different service businesses.

Good things start with hello.

Find me here. Let's make something useful.

More about my experience Résumé