Work in progress.

Some things are broken round here.

  • Shaken Not Stirred

    When you work at Wobe, you’re bound to have conversations like these at some point:

    “Can you check on this transaction for me in dumplings?”

    “Let’s make some changes to kaya.

    “This PR removes the confirmation code from diplomatico request”

    This is a feature, not a bug.

    We’re a company founded by foodies, but our engineering team is the foodiest of all.

    Deep within our repos you can find things like:

    Coconut makes the world, and our infra, go round. Coconut makes the world, and our infra, go round.Dark, golden and distilled beauty. Just like our microservices. Dark, golden and distilled beauty. Just like our microservices.

    Since we’re a multi-cultural team, with 2 engineers from Venezuela, we were also happy to christen one of our most important packages after Venezuela’s most famous product, Diplomatico.

    One of our internal web apps we call, lovingly, Dumplings. That’s because all of us love dumplings of all kinds. Chinese dumplings, momos, gyozas, manti, mantou, har gow, ravioli, tortellini, xiao long bao, samosa, wantons. If you don’t love dumplings, you can’t work for us. (JK!!)

    As our infrastructure and services expand, we’re going to need many more food and drink names for them.

    We crowdsourced some ideas within the team:

    • sushi
    • rendang
    • cokelat
    • pempek palembang
    • siomay
    • jeruk panas
    • gulai kambing
    • dendeng balado
    • martabak manis
    • dosa (the South Indian breakfast, I like this especially also because it means ‘sin’ in Indonesian, which it is.. with all the ghee)
    • cumi
    • negroni
    • ramos gin fizz
    • arepa
    • pav

    My personal vote, however, would go to Ramos gin fizz. With just a few simple ingredients, vigorous shaking either renders a masterpiece — or a flop. Like bad code, and bad engineering practices, a bad Ramos gin fizz doesn’t even resemble the real thing.

  • Randomization

    As the cofounder and CEO of a tech startup working to improve financial inclusion in one of the world’s largest countries that is also one of the largest cash economies, I have amassed a wealth of odd knowledge on how cash works. How it works, specifically, at the intersection of people and connectivity. It always excites me so that there is a world of difference in how different places have different assumptions about payments.

    My first world assumptions already went out of the window when I spent a year in Myanmar before SIM cards went down in price from $2000 to $1. There, bags of cash were king. Bags of cash under a desk, even better.

    Here in Indonesia, we faced the same challenges as most other companies: how do we accept payment from the average person? For our customers to start selling pulsa (airtime), internet packages and other products with Wobe app, we need them to first pay us for their prepaid account. (Here, you can also buy a cigarette by the stick when you want to smoke it, instead of buying an entire pack. The same is true of phones.)

    Happily, this is why we do what we do. Before you can improve on something, you first need to know it well.

    Not reinventing the wheel

    It helps to examine the prevalent norm.

    In Indonesia, you commonly see what can be described as “hacks for the cash economy”. These are necessary ‘hacks’ through a set of circumstances entirely unique to Indonesia; with more than 17 000 islands and a sparse population outside of Java, cash is still king here, and will remain so for the foreseeable future. Distribution and reach (of ATMs, banks, etc) is only one part of it.

    Other than cash-on-delivery, it is quite common to pay for things online in any of the following ways:

    • Asking a friend with a bank account to transfer the payment for you
    • Standing in line at a bank, where you do not have an account, to make a manual transfer
    • Going to a convenience store to tell them you want to pay for say, a flight ticket; waiting 40 min for their payment system to boot up, then finally making a cash payment

    As you can see, large companies have armies of people just staring at internet banking screens to verify each and other transaction in real time.

    What has emerged as the de facto way of taking manual cash payments is so unique and elegant, and so characteristically Indonesian: randomized unique codes that almost function as convenience fees, cheaper than credit or debit card percentages.

    In many ways, Tokopedia has been at the forefront of Indonesian ecommerce. As one of the pioneers of the 3 digit unique code method, we were impressed at how simple yet effective it was — for both the consumer and the company.

    Assuming I want to buy a USB-powered electric fan, or kipas, which costs IDR 52 050 (USD 3.91).

    If I were to select the cash / manual bank transfer method, I would see this screen:

    My total, with the unique code (+032) added to the final bill. My total, with the unique code (+032) added to the final bill.

    All Tokopedia would have to do would be to verify that they had indeed received a transfer of IDR 52 082 on that day.

    It would not matter from whom, the payment came from, or whether it was successful or pending (manual payments can be seen as pending after a certain time in the afternoon, depending on the bank and only available the next business day—which makes Fridays and weekends particularly difficult). The existence of that exact amount would suffice.

    How that inspired us

    It would be easy to wish that every market was exactly the same as where you are familiar: but that mentality would not take you far. Anywhere, but specifically in Indonesia.

    As a company that has betted its entire future on the 4th most populous country, it has always been in our DNA to operate within the frame of what works here, and to never once claim to know it better.

    We believe that the future will be a mix of unique ‘hacks’ like these, along with a substantial push towards the digitization of payments (more on that in a bit).

    I’m proud to announce that the next feature we will have in the Wobe app, will be our very own version of the randomized unique code. We are currently testing it but it appears to be a huge improvement to our top-up mechanism. All of our product and business decisions are driven by the simple question: how does this improve the lives of the people we claim to work for? In this case, we will be able to easily take payments from individuals who may live as far as one to five hours away from a bank, an ATM or a convenience store.

    What is the way forward?

    How does one reconcile the two Indonesias, then: with one foot so violently in the future, with its obsessive love of mobile phones and social networks, and the other so virulently enamoured by the ease of cash?

    Short of pushing the country towards bank accounts and debit and credit cards, what looks likely is this: there will be a peaceful coexistence of cash and digital payments. In some ways, Indonesia will lead the way in Next Billion tech, ecommerce and payments. If India’s PayTM and China’s Alipay are any indicators of how a hinterland with a large population and a unique set of infrastructural and geographical challenges are anything to go by, I believe that in 3 years Indonesia will find its own beat. Which is why we do what we do at Wobe: we believe that if we build a product that helps the average person participate in the digital economy, we will be able to find innovative ways to make a difference.

    What we do best is to empower women to be the missing link between their communities and the world of online opportunity. Be it in small features, like randomized topups, or in the big ones—like creating financial independence sessions for the women we work with—we are driven by our mission to do well and to do good.

    Perhaps one day there will be a new school of thought on product design and enterprise: how to create and design with empathy, as if our lives depended on it.

    Our next build will feature the randomized topup feature.

  • The Last Mile

    How to create products for emerging markets

    Nearly everyone wants to cash in on emerging markets. Facebook wants to fly drones to deliver internet connectivity over rural areas. They may or may not collide, in scale, ambition and delivery, with Google’s balloons (link). Whoever you are, emerging markets are hard.

    Every time you see a Singaporean or Malaysian startup raising a fund, you see them want to expand to Indonesia, like it was a mere thought_._ How do you make apps, websites or any kind of media for a market so different from anywhere else in the world?

    In our case, coming to Indonesia to create a product aimed at the last mile in a country of 17, 508 islands has been some of the most challenging work we have ever done.

    As a cofounder and first product owner, here is what we did.

    1. Listen. It is not possible to parachute into a place so fundamentally different, so unique, with a suitcase full of tips and tricks that have worked elsewhere. We listened extensively. Who you listen to can be just as important as how you listen. We went right to the source: we literally had listening parties where our target customers, who are Indonesian housewives and students, had fried food and sweetened tea with us as we studiously thought about how our product could work for them. Before writing a single line of code.
    2. Iterate. Anyone who has put an app or a website together knows that constant iteration, improvement, is key. From our paper prototypes to our app version 3.7.5, our iterations have come a long way. There comes a point where iteration has to be backed up by metrics, though when you are just starting out, flexibility and rapid adaptability is more important.
    3. Speak their language. Literally and figuratively. We found, for example, that in some locations it is not wise to send out young men into conservative neighbourhoods. From the early days of visiting homes and communities as a merry band of random people with clip boards (and fried bananas), we now have community leaders who are respected and respectful. It is sometimes still funny to trot out my Singaporeanized Indonesian as a joke, but when work has to be done we always get so much more accomplished by reducing cultural, linguistic and other kinds of friction.
    4. Consider all assumptions. Thinking on the intersection of product and business is hard enough. Thinking about it without assumptions can be very difficult. Somehow, it seems even harder for some to do this without being condescending. If your starting point in building a product is, “Indonesians like X”, you are on the wrong track.
    5. Conduct ethnographic research. This may be extreme, but I consider it very important to live in the same environment as the people who are likely to use Wobe. Paying for my (prepaid) electricity just like everyone else in my kos-kosan, standing in line to pay for my online purchases including air tickets with cash, all of those things were essential for our product. Very soon we will be able to pay for all that with Wobe. Extreme ethnographic research helped us begin our journey from idea to product, from the same starting point as our customers: in cash, in line, in wait.
    6. Consider your stack and architecture. Where we are it is still PHP-land. Services are massive, not micro. Hosting is local, rarely in the cloud. Bandwidth can be narrow and coverage can be spotty. We knew we had to avoid building a traditionally synchronous app to have any chance of Wobe working well outside of the cities. More than ideology, our micro-services architecture is supplemented by the concurrency of Go, the ease of native mobile development with React Native, and a team-wide obsession with improving performance and cost savings for our customers (every byte counts..).

    There was scarce literature for us when we started out on this journey, so we hope in the months to come we can share what worked for us. If you’ve built something for an emerging market, what worked for you!

  • How to Build Something

    Wobe’s founder on the basics for technical success

    “Jakarta Panorama” by Gunawan Kartapranata CC BY-SA 3.0Jakarta Panorama” by Gunawan Kartapranata [CC BY-SA 3.0]

    If you’re a founder too, technical or not, you’ll know all about the struggle.

    The struggle: late nights, being poor, having everything go well and then not, the very same minute.

    For me as a non-technical founder, and I’m sure for many others, the struggle is also: how do you build things? and other assorted questions.

    If you build it, will they come? (Customers)

    How will you build it? (Teams, product, culture)

    What, indeed, do you build?

    I’m always perplexed by founders who want to only move fast and break things without knowing themselves what they’re moving or breaking. If you ran a furniture company, had aspirations for it to be the best in the world, wouldn’t you want to at least know how to wield a hammer?

    This post documents the who, what, why, how of our year-long journey building technology in the emergi-est of emerging markets: Indonesia.

    Wobe works to improve access to payments and utilities at the last mile: our unique application and its surrounding ecosystems of microservices and tools let us offer regular people the opportunity of running their own business. They can sell recharge (of phone airtime, data, electricity, water and other vouchers); their communities benefit from cheaper and more efficient ways of topping up, without having to travel. We work with grassroots organisations to bring about greater benefits for low income women who come into our networks.

    Who we build for

    More than how you build or what you build, is the question: who do you build. This is tied to the mission of the company, and resonates through the company. It also has to do with what the founding team, not just founders, cares deeply about.

    I had the amazing opportunity to spend a year in Myanmar, right about the time it was ‘opening up’.

    Despite the $1500 SIM cards and the bureaucracy, Myanmar helped me fall in love not just with a country or a region, but with the idea of very hard problems. How will Southeast Asia go from our cash-only economies to online, digital payments? Will women and minorities be left behind? Wobe seeks to answer these questions through the tech we build, via the business relationships we build, and within our team.

    We build for them:

    (Above, Wobe growth activities in Sumbawa, eastern Indonesia.)

    How We Build

    Nothing is constant in emerging markets, except for how things change all the time.

    Our community anchors us:

    • Empathise: we carry out internal and external research activity to help us make product and business decisions and know our customers
    • Understand: we do not assume everyone has a fast internet connection. We know from our research that our customers are price-sensitive, and cautious about data consumption. For this reason, our product (a) has a tiny footprint (b) performs better than most other apps in lower connectivity
    • Prioritise: it would be far simpler to use established payment gateways and accept credit cards in-app. Our customers do not have credit cards. It would not make sense to make product decisions that work for only a small percentage of our total addressable market.

    Setting the Foundation

    Here’s a sneak peek at some of the building blocks at Wobe:

    Building the Team

    For every founder, the quality of technical team and your technical decisions has a ripple effect. I can’t emphasise this enough. Even when you’re a one-person team, what you decide on this front will have long-lasting impact.

    Your main options, pre-funding, are to either find a technical co-founder (a unicorn; stop searching, but more on this later), outsource, or to do it yourself.

    Unless you’ve already built products at great scale, and / or run a team to do that, doing it yourself may not be the best use of your time.

    For many, the likely choice will be to outsource. All types of dev shops and individuals will be happy to build you an MVP for anything from US$500 to US$100 000. Your mileage will vary greatly. Whatever decision you make on this, do not establish mediocrity as a standard. The quality of your future incoming team, if there is one, will be pegged to the ones who came before. Nobody wants to work with a Z team. Nobody wants to clean up Z-team level excretion.

    Wobe’s technical journey was a long one. In the next few posts, I will be happy to share what that was like, how we built a product with very little money, how we thought about technical hiring, how non-technical founders can improve their technical hiring pipeline.

    It has a lot to do with first acknowledging you don’t know all the answers. Even if you are a technical cofounder yourself, you don’t know all the answers. Then assemble the best* people who care deeply about your mission.

    Our mission is to build tech that works for the people who need to rely on us. We succeed when they are able to increase their family’s income level by a dollar, or a few hundred, because of what we do.

    Given the many questions we’ve had to ask, and impossible mountains we’ve had to scale, I want to set a clear path for us as a company. Wobe will be an open company, right down to our core: our code.

    In the coming months, my team and I will share how we write Go, how we hire; how we work cross-culturally from Mexico to India and Indonesia; how open source will be a pillar in our company. What is culture?

    Culture is not free beer and beer pong. I doubt that anybody really knows what it is.

    Let’s find out here together, shall we?

  • On The Spectrum

    What's it like to be on the spectrum?

    It is to be able to do wonderfully complex and abstract things, at the speed of light, yet to be stumped at how to give straightforward directions to others.

    To be diagnosed after the age of 30 is to learn quite resolutely: the weirdest feature in my being is not who I am, but what I do not understand. I do not understand what is easily understood by most. But I have done a good job pretending I do.

    People expect me to understand because I manage to pass for somebody I am not: well put together. In charge of my mind and body. Able to hold a conversation, fill rooms with hundreds of people. Capable of making inferences and deductions based on fact and feeling. Able to pass for 'neurotypical'.

    In recent conversations like the ones I've had to pay a lot of money to have some obvious things pointed out to me, I've had to dig into the recesses of my psyche. Things I thought I'd scrubbed out of my brain and consciousness. I did not have to go back very far:

    I live in my head, suspended between my thoughts and reality. In my head, I have already raced through the day's tasks elegantly, solving one interesting problem after another. In reality, I struggle to put on my shoes. Five year old me's daily problem: no matter how hard I try, I cannot will my fingers to arrange my shoelaces and straps in a manner that makes sense. This still happens to me. In my head, I may have made spreadsheets upon spreadsheets to address every question I have thought of while showering in the morning. In reality, I cannot will an arrangement of words and numbers to show up without brute force. This tires me.

    At social events it would be nice, of course, to finally understand how to moderate my speech or behaviour to match what is expected of polite company. But I am interested only in a very tiny set of topics. It helps then to not know what it feels like to pass for social; I have only ever managed to wager a guess. Since I do not know how that feels like, I do not know how to want those things, which is often mistaken for apathy.

    It was to have made mathematical calculations of my romantic odds instead of caring for people on an individual level. For that, I am sorry. All of those times people asked me on OkCupid or Tinder what I was looking for and I said 'an algorithmic match', I thought it was the only thing to say. And if we actually dated, I was still looking for the algorithms and my mainframe was out of date.

    Being on the spectrum means I grapple with simple questions: the one which terrifies me most, even to this day is — how are you? There is a five second delay in which I think, how, am, wait, what does that mean and who am I? Am I good today? Is that the truth? Am I more good than the last time I was asked this weird question? It feels like an infinite loop. Asking me how I am or how I feel, is no different from being asked to reach into the bottom of my soul and finding no difference between one abyss and another. How am I? How do I feel? I don't know.

    In place of feelings, there are patterns.

    There is the pattern of 'everybody is smiling am I more convincing at making eye contact now or am I still failing'. This sometimes looks like I have too many feelings, or that I have none.

    There are the patterns of 'this looks like something which has happened before which leads me to conclude... Something' and 'oh shit I got it terribly wrong'. There are few patterns in-between.

    I have been lucky to find my feet in a career that skews unfairly towards people on the spectrum, but the parts of it: the speaking at conferences, the socializing and networking, the parties, the world of people talking to and understanding each other, that I shudder at.

    To be on the spectrum is to have few tools for anger and other emotional processes. How is someone else feeling? I can only wager a guess. It is to disproportionately over-emphathise (because it seems like that's what people do), or to do too little of it. For me, it is also to be completely incapacitated in the in-betweens: what is not said. Even then, what is said can also have the same effect when it is said in a different way — that matches another pattern.

    It feels like living in a bad torrent. It is a blockbuster movie to everyone else who somehow always finds a way to watch the IMAX version. But yours resembles a pirated movie torrent with an audio track that is 10 seconds out of sync — ahead. It all sounds like gibberish, and there are somehow no subs of the right language and container size and codec. You have to watch it anyway.

    Slowly, the other movie is coming into focus.

    Maybe I'll never be able to see all of it in high fidelity, but — I'm told it is up to people like us to find new standards of definition.