Back to work

Co-Founder & CTO · 2021 - acquired

Cantoo

Built a cloud telecom platform (voice, SMS, DID) from zero. Profitable in under two years at €400k/year, then acquired by 42com.

cantoo.co

The problem

Communication service providers wanted to sell voice, SMS, and phone numbers under their own brand without building and operating telecom infrastructure themselves.

Cantoo offered that as white-label, API-driven hosted services. It had to carry industrial-scale voice and messaging traffic with carrier-grade reliability, comply with telecom regulation in several countries, and do it without venture funding.

What I built

  • I designed and built the full technical stack from zero, starting with a cloud-native, distributed voice infrastructure on Kubernetes with auto-scaling and auto-healing.
  • I built a real-time routing engine that picks routes by cost, quality, and latency, and deprioritises a carrier as soon as it starts returning errors.
  • I built a real-time billing pipeline on ClickHouse and Pulsar for instant usage tracking across voice, SMS, and DID.
  • I built the white-label, API-driven services (voice, SMS, DID) that operators integrated into their own products, and took Cantoo through registration as a telecom operator in the UK, France, and Germany.
  • I built and led a remote engineering team with a 24/7 on-call rotation, and after the acquisition I led the technical integration into 42com.
Cantoo architecture: service providers send traffic and API calls to the platform; a SIP edge (Kamailio) and an SMS gateway feed a real-time routing engine that picks carriers by cost, quality and latency; FreeSWITCH media servers handle calls; usage events flow through Pulsar into ClickHouse for real-time billing; everything runs on Kubernetes on GCP and AWS.Kubernetes on GCP and AWSService providerswhite-label customersSIP edgeKamailioSMS gatewaymessagingRouting enginecost · quality · latencyMedia serversFreeSWITCHAPI & portalprovisioningPulsarusage eventsClickHousereal-time billingCarriersUK · FR · DE operator
Simplified architecture of the Cantoo platform

Decisions and trade-offs

  • Multi-dimensional routing instead of cheapest-route

    Why: margins were thin and a dip in quality or latency could lose an operator for good

    Cost: it became the component everything else depended on, so getting it wrong would have meant rewriting everything.

  • PostgreSQL for everything first, ClickHouse for analytics only once query times hurt

    Why: no second database to run early on

    Cost: it worked because the data model was designed for that split, and the migration took weeks, not months.

  • Kubernetes from the start

    Why: carrier-grade reliability later on

    Cost: for the first six months it cost weeks of setup a two-person team did not need yet; a few VMs would have done.

Result

Cantoo became profitable in under two years and reached €400k/year in revenue without a funding round. It operated as a registered telecom operator in the UK, France, and Germany. In Q4 2023 it was acquired by 42com, a wholesale telecom provider, and because the systems were modular and documented, the integration took months, not years.

Stack

Kubernetes · Go · TypeScript · Vue/Nuxt · Kamailio · FreeSWITCH · PostgreSQL · ClickHouse · Redis · Pulsar · Terraform · GCP/AWS · GitLab CI

Takeaway

Cantoo proved that you don't need venture capital to build something real. Constraints forced us to focus: we shipped faster, spent less, and reached profitability by saying no to features that didn't directly generate revenue.