Short answer
Text surveys were missing frontline staff and anyone who found forms slow, so RaftLabs built Perceptional a voice interview platform in 12 weeks. Interviewers upload a contact list, Twilio places the calls, and an ElevenLabs voice runs the interview, changing the next question from what the person just said. A busy line, a drop, and a decline each get a different next step. A finished number is locked so it isn't called again. Themes and sentiment are ready when the last call ends.
The situation
Cherian Koshy runs feedback programs for large organizations across the US. Text surveys collected the answers. The answers kept missing the same people.
The staff on a shift, the older employee who types slowly, the person who won't open a long form on their phone: they drop out. What's left is the people already comfortable with a survey. If you decide from that report, you decide for a group that doesn't look like the people you serve.
You've seen the same hole if you run employee feedback, customer research, or a product study. The link goes out. The people you most need to hear from don't finish it. The report still looks complete.
Cherian wanted that hole closed. The brief was one line: build a system that reaches anyone with a phone.

before / after
What changed
- The report is the opinion of people who don't mind forms
- They open a link, type personal details, then type the answer
- You get what they wrote, not the pause or the correction
- The write-up lands days later, after the meeting that needed it
- A missed email means a second campaign to chase the same people
- You leave with a spreadsheet, not what they meant
- Anyone with a phone can answer. No form, no account, no typing
- The platform calls them, and the AI runs the interview
- The next question changes from what they just said
- Themes and sentiment are ready when the last call ends
- A missed call retries or gets a text. A finished number is locked
- The team asks the data a question instead of reading every transcript
What we had to solve
A form won't reach the person you actually need
A reminder email doesn't fix a form people won't start. Frontline staff answer a phone. They don't sit down for a ten-minute form. Older staff and anyone slow on a keyboard do the same. If your sample is only the digitally comfortable group, every finding leans their way, and you won't see the lean in the chart.
The product had to put a call on an ordinary phone number. No app to install, no account to make, no link they have to trust enough to tap. If any of those steps stayed, the people Cherian was missing would still be missing.
Five hundred careful interviews don't fit the window
A good interviewer can hold one conversation. They can't hold a 500-person campaign in an afternoon, and you can't compare notes written by ten different people. Hiring a call center gives you reach and ten styles of notes. Waiting for a panel gives you time you don't have. The window for feedback is the same week the program runs.
The system had to place the calls and leave one record for every conversation. Same voice. Same question path. A transcript in the same shape each time, so two interviews can be compared without a researcher translating them first.
Getting people to stay on the call
Early test calls failed in the only way that matters: people hung up. The voice sounded robotic where one response met the next. The pacing was slightly off. The script was obvious. A hang-up isn't a neutral miss. You've used their time, you've spent the call, and you've learned nothing. Do that across a staff list and you've also annoyed the people you wanted to hear from.
We ran rounds of ElevenLabs voice tuning and rewrote the prompts. We kept going until the dropout matched what a human interviewer got on the same questions. The call that shipped doesn't sound like a phone menu.
Choosing the next question while they are still on the line
A scripted survey asks the next question no matter what they said. That's why survey answers stay thin. A useful interview hears the answer and follows it. The hard part is the gap. The system has to understand the reply, pick the follow-up, and speak before the silence feels like a dead line. Wait too long and they start talking over it. Jump in too fast and it cuts them off. Either one ends the call.
We tuned that gap until the follow-up sounded like a person who had listened. The path still has a plan. It doesn't march through the plan when the last answer asked for something else.
A missed call cannot become a lost response, or a second nuisance
Not every number answers, and the next step depends on why. A busy signal, a network drop, a decline, and a no-answer are different events. A busy line or a drop can be tried again. A person who declines shouldn't get the same treatment as a dead line. Some of those numbers get a text with a link so they can finish when they choose. Once the interview is done, that number is locked for the campaign. They are not called again.
That lock is the rule that keeps a research call from turning into harassment of your own staff or customers. No number sits in the list with no next step, and no finished person gets dialed because a batch ran twice.
A recording is not an answer
The old surveys closed, then teams waited days to read what people typed. Voice is worse if you only keep the audio. A batch of 500 calls is hundreds of transcripts. Nobody is going to read them before the debrief, so the insight dies in the file.
As each call finishes, the platform pulls themes, sentiment, and topic reports from the transcript. The team opens the findings when the calling stops. They don't start the debrief by reading every line.
Proof
What we achieved
- Concept to launch
- 12 weeks
- Cherian had a text survey product and a phone idea. There was no system placing the calls.
- Findings when the calls end
- 0 delay
- Teams waited days after the window closed. The meeting that needed the answer had often already happened.
the build
What we built
Three jobs had to be true on the same campaign: a person answers on an ordinary phone, the interviewer runs the list without dialing it, and the team can use the findings the day the calls stop.

The person answers on a normal phone
The interviewer uploads a CSV of phone numbers. The platform calls each one. The person picks up and talks. There's no account, no link, and no personal details to type before the first question. The AI asks, listens, and picks the follow-up that fits what they just said. When they hang up, the full transcript is already stored. That's the unit of work: one number in, one conversation out, written down the same way every time.
One screen for the whole list
You shouldn't have to open each row to know if the campaign is healthy. The dashboard shows every call as completed, failed, or pending. On a miss, one action retries the call or sends a text with a link to finish on the web. A completed number locks, so a second run of the batch can't call them again. The interviewer watches the list move. They don't work it number by number.

The debrief starts from the findings
Feature reports show what people said about a topic you already care about. Keyword analysis shows themes you didn't ask for by name. Sentiment shows how it landed. A typed survey turns that into a score and stops. Each report exports as a PDF the team can share in the debrief. The transcript stays in the platform if someone needs the exact line.

Ask the interviews a question
A report answers the questions you planned. The follow-up you think of in the meeting is a new one. The team can ask the interviews directly: which pains came up most, what people said about one feature, how sentiment differed by department. That question used to be a half-day of transcript reading. It's now a conversation with the set of calls you already paid for.

The lesson
A bigger survey doesn't fix a biased sample
If the only people who finish are comfortable with forms, a larger send still describes that group. Another reminder email finds the same people again. A phone call doesn't make a bad question good. It lets the person without ten spare minutes, and without an easy way to type, still answer. That's the bias to close before you spend on a bigger panel.
Engagement
How the 12 weeks actually ran
Week 1
Hear a real call before the rest of the build
We put a working outbound call and question path in his hands in the first week. He could hear whether a person would stay on the line before the full build was committed.
Weeks 2-5
Stop the hang-ups
The next two sprints were the voice, with a daily update. Early calls sounded scripted where one line met the next. We tuned the ElevenLabs voice and rewrote the prompts until dropout matched a human interviewer on the same questions.
Weeks 6-9
Finish the list without harassing it
The sprints after that were the list. A busy line, a drop, and a decline each got a different next step. A text fallback for the ones a retry wouldn't help. A lock so a finished number isn't called again.
Weeks 10-12
Findings on the day the calls stop
The closing weeks were the findings, then handover. Themes, sentiment, PDF reports, and a way to question the transcripts. Cherian can run a campaign from the dashboard without us on the call.
How it runs
- Twilio
- Cherian's programs aren't one country or one phone company. Twilio places the call through one request, so we didn't spend the 12 weeks on carrier contracts. A number in the CSV is a number we can dial.
- ElevenLabs
- If the voice sounds like a phone tree, people hang up and the campaign teaches you nothing. This was the voice that held them, at a cost a bootstrapped product could keep paying after launch.
- AWS Lambda
- Campaigns spike, then go quiet. Cherian was building this without an infrastructure team. Lambda handles up to 1,000 interviews at once, and there's no idle server to pay for between campaigns.
- PostgreSQL
- Every transcript, score, and report has to live somewhere the dashboard and the question tool can both read. One database, so a theme isn't trapped in a recording nobody will replay.
Still curious?
12 weeks from the first conversation to a live product. The first week was a working call Cherian could hear. After that, two-week sprints and a daily update, through voice tuning, call rules, and the reports.
No. Each number is unique for that campaign. A busy line, a dropped call, and a decline get different next steps. Some are retried. Some get a text with a link to finish later. A completed interview locks the number, so they aren't called again, even if the batch runs twice.
Yes. The platform runs on AWS Lambda and scales to 1,000 simultaneous interviews. A quiet week doesn't need idle servers waiting. The same setup that ran the beta runs a large campaign. Nobody is managing a capacity ceiling by hand.
Because the people who won't finish a form will often answer a phone. You also hear the pause, the correction, and the emphasis a typed box flattens. The next question follows what they just said, so a thin answer doesn't just roll into the next item on a script.
It depends on why. A busy line or a drop can be retried. A decline isn't treated as a missed connection. Those numbers can get a text with a link to finish on the web when they choose. Nothing is left on the list with no next step.
Research teams, HR, product groups, and market research firms. The practical start is a question path and a CSV of numbers you're allowed to call. It fits a 50-person employee study and a 2,000-person customer study. Transcripts and reports stay in the platform for the team that ran the campaign.
Related work


