All work

01 / 05 Case study · FourDevs.ai

Sandstorms AI

A voice-agent SaaS for inbound and outbound calls. Businesses put a human-sounding AI agent on their phone line to answer questions, run outbound campaigns and book appointments. I built it alone, end to end.

Role
Solo developer, end to end
When
Feb – May 2026
Built at
FourDevs.ai
The Sandstorms AI home page: “Answer every call. Move work forward.” next to an illustrated call between a caller and an AI agent.
Public home page of sandstorms.ai.

01 — Problem

What needed solving

Most voice bots feel slow because they work in turns: wait for the caller to finish, write the whole answer, then turn it into speech. On a phone call that pause is long enough for people to talk over the bot or hang up. A business also needs more than a demo: phone numbers, a knowledge base, booking, billing and somewhere to manage it all.

02 — Build

What I built

  • A fully streaming speech-to-text → LLM → text-to-speech pipeline, so the agent starts speaking before the full answer exists.
  • Barge-in, so callers can interrupt mid-sentence and the agent stops to listen.
  • Phone integration over Twilio and SIP, for inbound calls and outbound campaigns.
  • Voice cloning, a knowledge base the agent answers from, and calendar booking.
  • The SaaS around it: subscription billing, multi-tenant roles and an admin console.

03 — On a call

What callers hear

Live Inbound callAI receptionist · voice agent 00:14
  1. Caller

    Hi, can I move my appointment to Friday?

  2. Agent

    Friday at 11 is free. Shall I move it there?

  3. Caller

    Actually, make it two o’clock.

    Barge-in · agent stops
  4. Agent

    Done: Friday at 2 pm. It’s on the calendar.

Every stage streams, so the first audio plays in under a second.

04 — Architecture

How it works

Callerphone callPhone lineTwilio / SIPSpeech-to-textstreamingLLMstreaming tokensText-to-speechsentence by sentencebarge-in · caller talks, playback stopsreply audio · first sound in under a secondCallerphone callPhone lineTwilio / SIPSpeech-to-textstreamingLLMstreaming tokensText-to-speechsentence by sentencebarge-in · caller talks, playback stopsreply audio · first sound in under a second
Each stage streams into the next, so the caller hears the start of a reply while the model is still writing the rest.

05 — Outcome

Results

  • Handles live calls in production.
  • Sub-second time to first audio.
  • Callers can cut in naturally instead of waiting for the agent to finish.

06 — Stack

Built with

  • React
  • Node.js / Fastify
  • PostgreSQL
  • Deepgram
  • Groq
  • ElevenLabs
  • Twilio

Next step

Let’s talk.

Want something like this built, or hiring for a role? I’m open to both.

Google Meet · 30 min

Book a call with Shakaib

Loading times…

Pick a date

Choose a day to see open times.

Times in your time zone

——
  • 30 minutes on Google Meet
  • Invite and Meet link by email
  • Need another time? Just email me

You’ll get a Google Calendar invite with the Meet link.

You’re booked.

An invite with the Meet link is on its way to .