The technology behind Toky

When we first started building Toky we needed to decide between building it ourselves or using an existing API powered by a Platform-as-a-Service (PaaS) vendor.

Using a paid API seemed like the right call. After all, it is what our competitors are using and they are doing very well having taken this approach.

After analyzing the API market, we came up with several options:

  1. Twilio
  2. Plivo
  3. Tropo
  4. OnSIP
  5. Apidaze
  6. TokBox
  7. CafeX

The list is almost ordered by relevance, and the good thing to notice is that there are plenty of options to choose from. This means the market is alive and rich enough to sustain various competitors trying to sell products to startups/developers like ourselves. The corollary is that there are a lot of people doing what we do.

The trade-off between time and flexibility

We needed to create Toky fast, with the least time-to-market as possible. We also needed to differentiate the product from the rest, the market didn't need yet another copycat doing exactly the same with a different interface and running on top of the same infrastructure.

It was a hard decision to make. We lacked time but we also lacked money, but being flexible (and useful) was the variable that mattered the most to us.

You can't be different if your palette of options and your building blocks are the same as theirs, at least, you can't be different in the way we think is relevant.

All of the options I listed basically offer the same set of tools to create a telecommunications product, they cost more or less the same, and they release new features more or less at the same time. Twilio is the one leading the pack and indicating the north. The rest? they follow.

The costs of using them

They aren't cheap. You pay for everything you can possibly imagine, things you take for granted as being free, are not.

Sure they have an extraordinary infrastructure ready for you to use it. Extremely complex VoIP features abstracted to a single function call that make me, a telco developer, want to cry of happiness.

The problem is that you have to translate everything you are charged for, to your customer. You have to also add your margins to finally construct the price your customer needs to pay in order to use your product/service. Toky is competing against big players, with million-dollar budgets. Pricing is a very sensitive subject for us, specially if we try to sell to developing markets like Latin America where paying for SaaS isn't a common thing to do.

The approach we took

We decided to go solo and build Toky from scratch. For some people, this simply isn't an option but for us it was, for the following reasons:

  • We complement each other's skills very well.

  • We have a telco developer in the founding team.

  • Our passion is so contagious we made people work with us without asking for any money in return.

These reasons made us go against all advices we received, and so far, all seems to indicate we made the right decision.

In 8 months we constructed the basic feature set we offer, we built the foundation of Toky and adding new features is becoming an easy task.

  • We practically matched all features (we care about) they offer, with a fraction of the price we would be paying to them.

  • We are flexible: adding state-of-the-art features has become a simple task and we don't have to wait for anyone to implement it for us.

  • We are inexpensive: all features are being locally developed and programmed.

  • We are reliable: we studied what server infrastructure they use, and we copied it (because it works). We run on Amazon Web Services, distributed across the globe and on Digital Ocean in some parts.

  • Our innovation isn't constrained to anyone's will: since we don't depend on an API someone else maintains, we can innovate at anytime, anywhere.

Nerd list of software and tools we use

VoIP Servers:

VoIP libraries:

Database:

  • MySQL
  • SQLite
  • Redis

Servers:

Relevant languages we use:

  • PHP
  • Javascript
  • HTML/CSS
  • Perl
  • C
  • Lua
  • Java (Android)
  • VoIP dialects:
    • Kamailio scripting
    • XML (FreeSWITCH)
    • AEL (Asterisk)

Development infrastructure:

  • Mac laptops
  • Linux laptops
  • Android emulators
  • Virtual Box

You can find a more detailed list of the tools we use in this previous post.

Wrapping up

Our path to building Toky is being probably longer and more complicated than most of the successful telco startups out there. Only time will tell if we took the right direction, and in the meantime, we are all about enjoying the journey to a destination that is yet to be known.

If you haven't yet tried Toky, please do so. You feedback is very important to us 😊.

comments powered by Disqus