EdenicEdenic
← Selected work

Voice · Proof of concept · BedBike

A phone survey that runs itself.

Before committing to a full build, BedBike wanted proof an automated call would actually work. An Edenic engineer shipped a containerised proof of concept that dials out, asks five scripted questions, and saves every answer — running end to end in about five minutes, with nothing to deploy.

Node.jsExpressTwilio Programmable VoiceTwiMLDockerDocker ComposeCloudflare TunnelNeural TTS
1

command to run it

~5 min

from clone to live call

5

scripted questions per call

0

cloud accounts required

Snapshot

Client

BedBike — a European mobility brand validating an automated phone survey

The question

Is automated outbound calling worth building properly?

The build

A containerised POC that calls a number, asks scripted questions, and records each answer

Discipline

Phase 1 only — transcription and CRM were deliberately left out

The pain

  • Collecting the same answers by hand over the phone didn't scale
  • No cheap way to test whether an automated call would even land well
  • Voice prototypes usually need a server and a public URL before anything works
  • Easy to over-build a proof of concept into a product nobody validated

Objectives

  • Place a real outbound call and capture real answers
  • Run anywhere Docker runs, with no cloud account and no deploy step
  • Swap the voice between a built-in and a premium TTS without code changes
  • Keep the scope honest — prove the idea, don't build the product
POC architecture — overview

Trigger

One compose command
Outbound call placed

Call server

Express + TwiML
Question script
Recording handler

Ingress

Tunnel sidecar
Public HTTPS webhook

Telephony

Programmable Voice
Neural TTS

Output

Answer recordings
One file per question
Runs fully in DockerNo cloud account neededSwappable TTS voicePhase 2: transcripts + CRM

What we built

One-command run

A Compose stack brings up the call server and a public tunnel together. Clone, fill in credentials, and place a live call in about five minutes.

Scripted question flow

The call plays a greeting, then walks a configurable list of questions, recording each answer to its own file for review.

Account-less public URL

Voice webhooks need a reachable HTTPS endpoint. A tunnel sidecar provides one without an account, a signup, or a paid tier.

Swappable voice

Runs on the telephony provider's built-in neural TTS by default, or pre-renders audio with a premium voice — a config flag, not a rewrite.

Deliberately scoped

No transcription, no CRM, no dashboard. Those were scoped as later phases so the client could judge the idea before paying to build it.

Key takeaways

  • The client got a real recorded call to judge, not a slide deck
  • Containerising the whole thing meant it ran identically on their machine
  • An account-less tunnel removed the usual webhook setup friction
  • Scoping phase 1 tightly kept the validation cheap — the point of a POC

Need an idea proved first?

This is the calibre of engineer Edenic sources, vets, and places. Talk to a founder.

Talk to a founder ↗