Monday, September 17, 2018

Create chatbots from Google Calendar using ProBotDev Event Chatbot

I've been working on Sarah Shopper, the Lazada price tracker, for a while. Sarah Shopper is a shopping assistant chatbot that periodically checks for price changes in popular online marketplaces such as Lazada, 11street and even IKEA. It's especially useful when you're willing to wait for a better price.

Sarah Shopper, the Lazada price tracker
Sarah Shopper, the Lazada price tracker

Sarah Shopper was modestly successful—9,000+ users in 9 months, mostly from the Google Assistant directory. However, learning from running another free-to-use consumer product (Homework Hero, the student tutoring platform in Indonesia), I know it's going to be a long and expensive journey.

Just a few weeks before graduating from Selangor Accelerator Programme 2018 (SAP2018), I came to the realization that it actually makes more sense to help other businesses to make chatbots, and that's how our SaaS came to existence.

ProBotDev Event Chatbot
ProBotDev Event Chatbot

ProBotDev Event Chatbot allows event organizers to create chatbots from Google Calendar. It is higher level than ManyChat or Chatfuel, as you don't even need to design the conversation flow.

It makes more sense for event organizers to use a template because event attendees generally ask similar questions. It also makes sense for us to make it a SaaS, as the improvements we put will make everyone's chatbot smarter.

I've written a getting started tutorial to create a chatbot and will keep posting for more in the coming weeks.

In case you're wondering, Sarah Shopper is still available, as it's personally useful for me :)

Tuesday, January 23, 2018

Lazada price tracker? Try stupidity tracker

I have been using hackintosh (dual-boot with Windows 10) for more than two years without any problems, and recently upgraded to High Sierra. The upgrade process was smooth, and my filesystem is now APFS.

Last Saturday, I switched the power off a bit too early, before the system completely shut down. I knew it was wrong but it's done and I got sidetracked with stuff. The next day, I couldn't log in—it gave me beach ball right after I entered my login.

Tried fsck, safe mode, recovery mode, no luck.

Feels like banging my head.

Good thing I have a MacBook Pro. I took out the SSD from the PC, and put it inside my laptop as secondary disk. Darn, Disk Utility couldn't help.

I had to start fresh. To my disappointment, many files, especially recently (1-2 weeks) accessed files, were corrupted. Unfortunately, those were the source code for Sarah Shopper, the Lazada price tracker I've been working on.

I did use Git, but I have a habit of not pushing to server until the commit is tidy. Since I tend to work on multiple projects at the same time, I can leave them "unpushed" for a while. For Sarah Shopper, it's two months. Ouch.

I also ran a backup software, but it was not configured properly (I procrastinated). Ouch. Good thing Dropbox was working, but I didn't put my code inside it (since I use Git). Ouch again.

Anyway, I managed to "restore" my hackintosh. Here's what I did:
  1. Salvaged anything I could. Apparently, if you copy a folder with any corrupted file inside, the whole copy process stops, leaving the destination in limbo. Strangely, if I select all the files in the folder and copy them, it works and it will ignore corrupted files. So, I did that, recursively.
  2. After everything was copied, I reformatted the SSD and put it back inside my PC.
  3. Reinstalled the hackintosh. I usually use tonymacx86, but I couldn't find the exact page inside the 1st page of search result, so I tried a different method. After a few failures, I gave up and used tonymacx86's method. Worked flawlessly.
  4. After the OS was installed, I had to download, install and configure apps. Office, dev tools, etc.
  5. Setup backup. This time I include my code.

About backup

I use Arq backup software. Now, I backup my home folder with these subfolders excluded:
  • Dropbox, OneDrive, etc, because they can just resync
  • Downloads, because this is just for "transit" items
  • Some folders inside Library
  • Cache folders, e.g. .m2/repository folder for Maven cache
Essentially, I excluded synced folders, caches and temporary items. If you use Arq, the best way to decide whether something should be excluded is to first backup everything, and then check the log. The log lists all files backed up and the size.

About source code

Now I use myrepos, a small command line utility so I don't need to "cd" and "git status" to dozens of my projects one by one.


It took me three days to do everything. Configuration-wise, it's done, but now I need to rewrite the missing code for Sarah Shopper, the Lazada price tracker.

Monday, December 04, 2017

Indonesian TLD .id

.id is the top-level domain (TLD) for Indonesia. Until a few years ago, Indonesians can only register names under 2nd-level domain (2LD) such as mycompany.co.id or myblog.my.id. Note the extra characters before ".id".

Did I say "Indonesians"? In order to register, you must submit Indonesian government-issued identity. For some 2LDs, you must submit additional documents such as your company's certificate of incorporation. Of course, it didn't prevent non-Indonesians to register domains through a proxy. Indonesians or not, it was a lot of hassle.

Thankfully, PANDI, the body that governs .id TLD, has relaxed the requirements. They opened up .id in 2014 so you can have awesome.id instead of awesome.my.id. In August 2017, they waived the identity check so now everyone (not only Indonesians) can register a .id! (Do note that some 2LDs still require verifications).

Which brings me to this post: I've just launched Punya Nama, where anyone can register .id. It's still an MVP, so feedbacks are most welcome.

"I'm not Indonesian, and my business is not targeting Indonesia—why should I get a .id?" Depending on the nature and the stage of your business, ignoring the world's 4th most populous country is probably not a good idea. Search engines such as Google prioritize country-specific TLDs—when someone searches for "pilates", everything else equal, "pilates.id" would come up first.

If you're not interested with Indonesia, you might want to get a .id because of it's catchy name, just like .io or .me. You can have printed.id, vital.id, basically every.id (see what I did here?).

What are you waiting for? Go ahead check some premium .id names at Punya Nama.


Thursday, November 30, 2017

Sarah Shopper the price tracker for Lazada and others

For the past few months, I've been busy working on a new project. Now that it's quite stable, I'm happy to share it here.


Sarah Shopper is a chatbot that helps you track price from popular ecommerce websites such as Amazon.com, IKEA, Lazada, and some other websites in Southeast Asia region. If you are amongst the people who want to get the lowest price for each of the purchase you make, Sarah Shopper is great news for you. Just send her a link, and she will notify you when the price drops.

For example, I've been meaning to buy a Google Pixel phone, but I can't justify the price. So I search for that phone on Lazada, and then share the link to the product page to Sarah on Messenger. So far, the price has dropped three times, but it's still too expensive for me 😂.

Price tracking (or price monitoring) is not a new concept, but most services focus on Amazon.com and available as a website or Chrome extension. I decided to do it differently. Sarah Shopper is a price watcher for Lazada from the comfort of messaging apps.

Sarah Shopper was initially available on Messenger, but now you can also chat with her on Google Assistant and LINE. Go ahead, click those links and try it yourself.

Saturday, December 31, 2016

2016 in Review

It's been more than a year since my last post. During the period of time, I have quit my job and launched Homework Hero, an Android app to help students in Indonesia with their homework. I also got married, become a father, went through an accelerator (MaGIC), and learned Python and Machine Learning. Phew!

As a geek, I like to participate in hackathons and do side projects. They allow me to learn new things that I wouldn't get otherwise when employed in a mega-corp. Who knows, one of my pet projects could someday take me to financial independence (whatever that means)!

Time becomes a precious commodity when I started a family and become a father. No more hackathons (also, I'm getting old for that), and the free time I usually spent with code editors should now probably be spent with my family.

I could just stop doing side projects, but I felt a burning passion to start my own business. So, I quit my job, picked one of my pet projects and made it my startup. I have a bit of savings, and MaGIC gave me monthly stipend for four months (way less than my salary before I quit, but something is better than nothing).

So, by quitting my job, suddenly I have 100% for doing startup? Not quite. For the first few months, I was still adjusting. Not to mention MaGIC required us to attend mandatory full-day sessions twice a week.

Fast forward today, Homework Hero has almost twenty thousand users, and the traction is so good, I'm very bullish for 2017. Homework Hero is now my full time job. I haven't started monetizing (attempting to make money from) it though, as the focus now is growth. Let see how far I can go.

I will keep doing side projects, as it allows me to escape from routine. Just few days ago I built kalender2017.id, which at least helps me with my own itch.

Happy new year!

Tuesday, July 21, 2015

Graduated from the Founder Institute

It's just last night when I emailed my list announcing my graduation from the Founder Institute Kuala Lumpur. Khailee, Managing Partner of 500 Startups and a mentor of Founder Institute, gave the final mentoring last week. It's amazing how fast four months could go by.

I had been following the Founder Institute for a few years. The idea of "prepping up startup" while keeping my day job was the main reason. When they finally opened a charter in Singapore, I thought of applying. I thought I could endure the back-and-forth travel (I'm in Kuala Lumpur), every week, for four months. Good thing I came to my senses.

Then they opened in Jakarta, my hometown. I was very tempted to quit my job to enrol there, but then again it kinda defeats the purpose of joining—might as well join a full accelerator (which I didn't do because I wasn't ready).

Then they opened in Kuala Lumpur. I missed the 1st cohort, and I kinda lost interest on the 2nd. But when they opened registration again, few months ago, I decided to join. It's now or never, I told myself.

Different than most of my fellow Founders, I've been following tech news for more than five years. I've started (and failed) a few (attempted) startups, I've helped a friend pitch for his startup in Startup Arena, I've participated in numerous hackathons (and won a few), and I've read numerous startup-related blogs and books. Does it mean I didn't get anything from the Institute? Far from it.

I've learned a lot of new stuff first-hand, from mentors who are industry players, many of them are now in my list. I know them, and, more importantly, they know me. I've also made friends with fellow founders. I found my crowd.

The strongest influence FI has on me is the fervid push to quit my full-time job to pursue my dream. I've always wanted to do it, but I lack data to support my cause. FI's structured approach really helps—ideation, market research, customer development—they're the bits and pieces that build my confidence.

If you're thinking of starting your own company, Founder Institute might be a good place to start.

Saturday, June 29, 2013

On setting goals

So, I have broken my promise again to write more often. I read about it somewhere that I'm not unique to this "over promise, under deliver" problem when it comes to writing. Still, I feel like I fail myself and my readers.

Writing is a Good Thing™—somebody even compiled 17 reasons for doing it—but it's hard, especially for perfectionists (and procrastinators!) like me—I can write a paragraph and keep refining it for an hour. But why is my old self seems to be more productive? I think the reason is, like I said, I feel bad when I fail to meet my target. The disappointment adds up, and it's making me to think, "The hell with this, I'm not gonna make it."


Fortunately, I learned something new today about goal setting. We shouldn't set our goal in binary: either we achieve it or not. Instead, set it in 3 categories: What we can definitely do, what we want to achieve, and what is awesome to get. Let's use my writing problem as an example.

Looking at my recent writing frequency, 12 posts per year seems something I can definitely do. Of course, that amount is lame for a blog, so my target is to write 52. It seems ambitious, but in 2007 and 2008 I wrote more than that, so it's a good target. Always challenge yourself, reasonably.

52 is the number of week in a year, but I didn't mention the interval. I can slack for 11 months and rush in December. Now, if I can write consistently every week, that's awesome!

Note that it's better to set the categories in stages. That is, achieving awesomeness means completing the rest. I could set the awesomeness to be "Write a book", but accomplishing it doesn't mean I meet my target (52 posts), which will make me sad.

Now it's your turn.

Monday, January 28, 2013

OMG, I'm now 30!

Happy birthday to me! I can't believe I'm now 30 years old. Gosh! I have promised myself to blog everyday starting today, until (at least) my next birthday. The topic does not matter, it's the process that I seek. Since I just returned from a 5-day trip from Boracay, the Philippines, I'll spare myself and consider this short paragraph a first :)

Sunday, July 22, 2012

Pengalaman tinggal di Kuala Lumpur

Dari semua tulisan disini, tulisan gw tentang makanan di Malaysia ternyata paling populer. Beberapa orang bahkan sampai mengontak gw di Facebook untuk bertanya lebih lanjut. Sekarang gw sudah hampir tiga tahun tinggal di Kuala Lumpur, saatnya untuk berbagi lebih banyak.

Sedikit latar belakang, sekarang gw tinggal di Bukit Jalil, dekat stadion yang waktu itu digunakan untuk pertandingan bola Indonesia vs Malaysia. Ini adalah tempat "kost" gw yang keempat selama bekerja di Malaysia, dan lingkungan sekitar masing-masing tempat kost sangat berbeda. Gw akan membandingkan dengan kondisi di Jakarta,

Tempat tinggal pertama: Shah Alam.

Shah Alam bagaikan Cikarang—jauh dari ibu kota dan relatif jarang penduduknya. Waktu pertama tiba di Malaysia, gw ga punya duit (sekarang juga ga punya sih, hehe). Untungnya ada teman SMP yang tinggal disini, jadi selama sebulan pertama gw menumpang di kondo dia di Shah Alam.

Pengalaman dari tinggal di Shah Alam:
  • Beberapa perusahaan besar di Malaysia mempunyai call center untuk penggunanya yang ber-Bahasa Indonesia. Teman gw dan teman-temannya bekerja di DiGi ("Indosat-nya Malaysia," populer di kalangan anak muda karena murah). Mereka pekerja outsource dan mendapat akomodasi tempat tinggal (satu kondo bertiga) dan bis karyawan. Karena mereka bekerja shift, bisnya datang setiap jam.
  • Tidak ada alasan untuk tinggal di Shah Alam kalau kamu bekerja di Kuala Lumpur, kecuali punya kendaraan sendiri dan rela menghabiskan waktu di jalan. Teman gw punya mobil dan kantornya di Shah Alam juga.
Tentang kereta ("kereta" berarti "mobil" di Malaysia, tapi untuk tulisan ini "kereta" berarti "alat transportasi yang berjalan di rel"):
  • Transportasi massal berbasis rel di Kuala Lumpur ada tiga: monorail, KTM dan LRT. KTM hampir sama dengan KRL AC ekonomi(?) di Jakarta—sama-sama ga tepat waktu dan lambat.
  • Tiket dapat dibeli di konter atau mesin (tapi kebanyakan mesinnya rusak, hehe), atau pakai kartu Touch N Go (kartu debit).
Tentang angkutan umum lain:
  • Di Indonesia, kamu bisa berdiri di pinggir jalan dimana saja (termasuk di gang!), pasti ada angkutan umum yang lewat. Disini kamu bisa berdiri di pinggir jalan besar dan ga melihat satu pun bis lewat.
  • Disini ga ada ojek, bajaj, omprengan atau angkot (minibus). Selain transportasi berbasis rel, hanya ada bis dan taksi.
  • Di bis ga ada kenek, hanya ada sopir yang sekalian mengurus pembayaran. Kamu harus membayar tunai atau dengan kartu saat masuk. Suara rekaman akan memberitahu kamu sudah sampai mana.
  • Kalau naik bis, kamu umumnya harus berhenti di halte, ga boleh di sembarang tempat.
  • Taksi disini sangat pemilih. Sedikit macet ga mau, padahal kan tetap dibayar!
  • Di beberapa tempat (terutama daerah turis dan tempat clubbing), taksi ga mau pakai argo ("meter") atau minta tambahan, misalnya +RM2 (~Rp6 ribu).
  • Di bandara dan KL Sentral ("Blok M"-nya Kuala Lupur), kamu bisa bayar taksi dengan tiket. Datang ke konter, kasih tau mau kemana, bayar sesuai jarak. Ga perlu takut dibawa muter-muter atau tawar-menawar.
  • Taksi disini jauh lebih jelek dibandingkan di Jakarta.
  • Naik taksi disini cenderung lebih murah, mungkin karena tidak begitu macet dan tidak perlu memberi tip.
Tentang jalanan, kendaraan pribadi, pejalan kaki dan tempat parkir:
  • Jalan raya di Malaysia lebih lebar.
  • Jalanan disini umumnya hanya macet sebelum dan sesudah jam kerja, tapi macetnya tetap lebih "masuk akal" dibandingkan dengan di Jakarta.
  • Beberapa jalan tol dipasangi speed trap—kamera yang menangkap kalau kamu terlalu ngebut.
  • Di Jakarta, orang suka seenaknya menyeberang jalan sementara mobil/motor harus mengalah (mungkin takut dibakar massa kalau menabrak orang, hehe). Disini sebaliknya.
  • Di Kuala Lumpur, mobil lebih banyak dari motor.
  • Motor boleh masuk tol tanpa membayar.
  • Kadang disediakan jalur khusus untuk motor.
  • Tidak ada yang mau naik motor kecuali terpaksa. Pedagang kaki lima dan penjual DVD bajakan di emperan jalan pun naik mobil.
  • Alasan orang-orang disini punya mobil karena transportasi umum sangat minim. Secara kualitas Malaysia menang, secara kuantitas Indonesia jauh lebih baik (terlalu banyak malah, jadi macet).
  • Orang Malaysia sedikit lebih teratur dalam mengantri, termasuk di lampu merah (untuk hal ini, pengemudi mobil lebih patuh dibanding pejalan kaki).
  • Disini ga ada tukang parkir, apalagi "pak ogah".
Ada yang perlu ditambahkan? Tulisan berikutnya akan berdasarkan pengalaman gw pertama kali "ngekost" di Kuala Lumpur.

Status update, midyear 2012

How fast time flies. My last post was on the 1st of January this year, and that's more than a half year ago!

I was dormant here, but I kept on writing (at least for a couple of weeks) in #anakkos, a blog inside Neytap.com, a classifieds for room rentals, for SEO purpose. So far, the website receives almost 100 page views daily. Not bad for a $0 marketing effort.

It could be better, though. I use Ajax heavily to make Neytap speedier (speed is a feature of Neytap), but it's not SEO-friendly. I also design Neytap home page to be clean and simple, just like Google's; Apparently it's not SEO-friendly as well :( Search engines would think my other pages are not really important, since they're not referenced directly from the home page. That's assuming the engines can find the pages in the first place, since in order to open those, you must perform (Ajax) search. Dooh!

TL;DR: Neytap is designed to be speedy, with the (unforeseen) expense of search engine discoverability. Lucky that blogging helps, although not by much. This explains why engineers suck at selling consumer products :D

Next, I co-founded Cabara.co.id, a curated marketplace for domestic workers. At the moment we're focusing on maid service in Jakarta. We pitched in Startup Asia Jakarta 2012, you can watch my pitch there in YouTube (you might want to skip the first few minutes).

We didn't win (we'd be surprised if we did), but it's a great opportunity to pitch there. We were covered in Tech In Asia and some other publications, and approached by a number of VCs. Everything is new to me (and to my co-founders as well, apparently), so it was quite an experience.

Last but not least, I recently created temanmudik.com, a (social network?) website to connect Indonesians who are going homecoming this year. It's a tradition in Indonesia—and probably other Muslim countries, I know they have it in Malaysia—for people to go back to their hometown to celebrate Eid ul-Fitr (in Indonesia it's called Idul Fitri or Lebaran).

Following Minimum Viable Product concept, at the moment Teman Mudik is just a landing page and to be developed progressively depending on feasibility. Teman Mudik is a mini-site for Neytap and they share the same user base. I will give report on how it goes after Eid ul-Fitr.

Sunday, January 01, 2012

Happy New Year 2012!

Can't believe it's 2012 and we're still breathing, LOL! Anyway just in case some big meteor hit earth in next minute... this is my first post in 2012!

Sunday, November 20, 2011

Neytap released!

I've been spending my free time developing a website to facilitate room rentals. The website is an attempt to scratch my own itch. Today, nine months after I registered the domain, I'm releasing Neytap to general public.

Neytap is a classifieds for room rentals inside Facebook. It's simple, because I lack design skills. It's fast, because my internet is crappy. And it's easy, because I'm too lazy to explain how it works :)

For the curious, the word neytap originates from an Indonesian word "menetap", which means "to stay" or "to settle".

me·ne·tap v bertempat tinggal tetap (di); bermukim di: banyak orang asing ~ di kota dagang itu; ada yg pulang ke kampung halamannya, ada pula yg ~ di kota-kota; Kamus Besar Bahasa Indonesia

"menetap" is a mouthful word so I trimmed it to "netap". To make the pronunciation similar for Indonesian-speaking and English-speaking tongues, I added "y" in the middle.

"If you are not embarrassed by your first release, you've launched too late" — Reid Hoffman, Founder of LinkedIn.

I'm embrarred indeed. The website is so simple, too simple in fact. There are some features that I decide to exclude from this release, including multi-language support and a mobile version, mainly because they're still crappy.

This is the first public release of Neytap, but certainly not the last. I'm going to update the website iteratively. Meanwhile, please take a look at Neytap and tell me what you think!

If it isn't for the pretty date (20-11-2011—Indonesian format), I would certainly delay the release. But then again, "waiting for the perfect time" is just an excuse and it may never come. Soli Deo gloria.

Friday, October 07, 2011

Would convertible debt burden me?

As I've written before, I'm currently working on two side projects in my free time. This post is an update about their progress.

For the one I'm doing with a co-founder, it's pretty much stalled. It requires significant capital investment and some brick-and-mortar business networking thus we can't start from zero. My co-founder has pitched to some VCs all out, but apparently the conventional wisdom is true: you can't really get investors just by selling idea. At least not when you're nobody.

For the other one, a classifieds for room rentals (the idea is much bigger than that, but I must start from something small), it's been going slow. I thought of speeding it up; quit my full-time job and give the project all the love. That's why I was thinking of raising MYR 75k (USD ~23.7k or IDR ~210m) in convertible debt to fund the project for at least 6 months.

I cold emailed some people (only two, actually. A CEO in a company I worked for and an acquaintance I met in airport), asking whether they know anyone interested to angel invest in my project.

The latter forwarded my email to her business partner who then asked for a pitch. To my surprise, he showed deep interest on our first meeting, and immediately showed intent to invest after reading my financial projection (which I think quite conservative on number).

In case you're curious, here's my proposed term:
  • 8% interest p/a
  • 25% discount
  • with cap
  • maturity at 1 year
I think it's pretty much standard. But then the guy said that he "doesn't like the idea of giving loan" because he "doesn't want to burden me". He wanted some shares instead. This is his offer (more or less):
  • Start the company in Malaysia so we can get government grants and stuff, but it must be majority owned by local, so he proposed...
  • 60% for himself (being a Malaysian). And because his business partner (my friend) introduced us, so...
  • She'll get 20%.
  • Maybe he doesn't really trust me, so the money will be dispensed monthly, and...
  • I must get his permission for any expenses.
To summarize, the company would get USD 23.7k spread over 6 months period, I would get 20% share and less than half my current salary, and I must report everything. I've never dealt with any investor before, but I don't feel right.

My friend jokingly said the money I need is around the price a car, might as well I borrow it from bank and keep 100% share for myself.

I emailed the investor politely rejecting his offer. Here's a snippet of the letter:
You've been very gracious with your time and I'm thankful for that. After careful consideration, however, I have decided not to take your current offer. I have asked around and did some research, convertible debt is still the term I want. 
There's a great article on the benefits of convertible debt, http://venturehacks.com/articles/debt-benefits, where the two main points (for me) are Suitability (point 2) and Control (point 3). It is also investor-friendly when complemented with discount and cap.
I guess I'll keep doing this as a side project until I can stand on my own or found more sensible investment.

Monday, July 18, 2011

Validating your idea

Last week a guy added me in Facebook because he said we have similar interest in startup and found my blog (the one you're reading now) quite amusing.

I usually only approve cute chicks and people I know—because in my experience random guys who added me happen to be gay and they thought I am too (I am NOT). Since he introduced himself (and his intent), I'm more than happy to approve his friend request. He happen to be a smart person, and has a female wife :)

We exchanged messages, and I thought one of my replies worth to post in blog, so I asked his permission and he agreed, so here it goes:

Hi bro, thanks for your length reply. I think you should stop reading and start jumping to action. In startup, first-hand experience is much more useful.

The simplest is to create a landing page to validate your idea. If it doesn't get satisfactory traction (i.e. low signups), either the idea sucks or the landing page needs refining.

It might hurt to know the truth (since your idea is most likely your ambition), but it will save you the time from building product nobody wants and you can move on to another idea.

A couple days ago I read Ash Maurya's Running Lean which mentioned Eric Ries' Lean Startup. I didn't finish the reading, but it made me realize that I've been taking the wrong approach.

I've been spending too long developing the product and also sidetracked by "research", but nothing towards validating my idea early. I'm afraid that when my product has complete, it doesn't get the traction I expected, and I will feel demotivated. I've been in this situation.

But there's a lie within landing page approach: Sometimes the traction doesn't translate to actual product usage. It might be because the product is "less interesting" than what you promise in the landing page, or the product launched too late (the guy who subscribed already forget who you are and what you do), or any other reasons. Just be prepared with this.

So, to answer your question on how am I doing with my journey, now I'm doing "temporary pivot". I'm focusing on building a landing page.

My co-founder is currently in Jakarta for his first baby born and also to pitch to some VC. My project with him requires significant capital and network investment, so it's essential to raise some money (and make friends).

As for my other project, Neytap, now I'm thinking on how to solve the chicken-and-egg problem. As you know it's a classifieds for room rentals, a marketplace of buyers (tenants) and sellers (landlords). I need to figure out how to grow both sides in balance. Do you have suggestion?

Anyway, regarding US as your target market, I think you're right, aim the ones you're most familiar with. But isn't US already saturated?

I'm so happy to meet like-minded people :)

Saturday, July 16, 2011

How much should you pay developers?

Two days ago I started a discussion in StartUpLokal group, "How much should you pay developers?" Basically I shared a link I found regarding compensation plan in StackOverflow.

Teddie followed up with an interesting question (copied as-is), "As a Founder..how much U willing to Pay Your Programmer (honestly)?" Wenas Agusetiawan replied, "rockstars deserve to be paid well," but Teddie didn't seem satisfied with the answer thus asked again, "how much?"

My answer is: "It depends." Let me elaborate.

I'm a programmer myself. If I were to outsource/delegate programming tasks for any of my startups, it must be because (1) I'm not good enough to do it myself, or (2) The tasks so boring I'd rather do something else, like sleeping.

So, how much?

If I were to pay the programmer for the first reason then I must award him well. He's smarter than me, he deserves at least same salary I'd get if I were to do it myself. If for the second reason, I'll base on industry standard, or, "How much I'm willing to be paid if I don't have better option." (Which is logical—if you're the programmer, would you take the boring/repetitive job if you have better option?)

Of course, being a startup founder, you must squeeze expenses as much as you can. So for the first case, I'll negotiate with him but focus on retainment (I don't want to lose him). For the second case, I'll focus on minimizing expenses (I don't want to lose too much money).

Note: Change "him" to "her" for your convenience.

Tuesday, July 12, 2011

Birds of the same feather flock together

You are who you surround yourself with. You tend to be more productive when you hang out with like-minded people.

I usually work solo on my personal projects, and it's damn tiring (on the plus side, I can do whatever I want, haha). I do have a partner in one of my startups, but since my internet is crappy and my co-founder lives in a different continent, communication is hard.

So it was a very refreshing experience when last month I attended Google Hackathon App Engine. It was a very productive weekend indeed.

From Wikipedia: A hackathon is an event when programmers meet to do collaborative computer programming. These events are typically between several days and a week in length. A hackathon refers not simply to one time hacks, but to a specific time when many people come together to hack on what they want to, how they want to - with little to no restrictions on direction or goal of the programming. Translation: party for geeks.

I didn't manage to launch anything there, but I made significant progress; made some friends too. Looking forward for another similar events. So guys, if you have the chance to attend such event, don't miss it :)

Sunday, July 10, 2011

On using new technology and setting up infrastructure

It's very hard to build a startup; it's even harder to build two at the same time, especially since I have a full time job. For the past few months, most of my free time were spent on coding. Let me share some progress.

My first project is Neytap, a classifieds for room rentals—which in Bahasa Indonesia is called kos (correct term is indekos, although sometimes people write it as kost or kos-kosan). I'm aware that there are some similar websites already, but competition is always good :) It has just reached version Private Alpha and right now is under development for Private Beta.

My second project is a location-based service. I can't tell you much about it since it needs to be in stealth until certain stage of development. I can only say that, for this project, I have a co-founder.

On using new technology

Both projects use JVM-based languages: Java, Groovy and Scala. I'm currently learning Scala, so I try to use it as much as possible. Groovy is used for scripting (like one-time off code) and Java when I'm stuck with Scala :D

There's an important lesson that I want to share with technical founders who, like me, like to tinker with new technology: Building startups with technology you're not familiar with is a bad idea.

I'm not talking about quality (since you're not familiar, you might develop sub par solution), but it's all about time allocation. The point is, every time you want to use some fancy stuff in your project, ask yourself, "How much the distraction from achieving my target (delivering project)? Will it add significant value (i.e. "worth the time")?"

I spent a significant time learning new stuff instead of working on actual product for these two projects. Knowledge-wise, it's not a waste. Goal-wise, it is. I decided to fallback to technologies I'm familiar with, and adding just a bit new stuff that I'm sure will improve my productivity.

Infrastructure setup

You can code immediately without any documentation (URS, Diagrams, etc), which is exactly what I did. But at some point you will realize that you need some order. You need at least an issue tracker.

Important lesson: Use what you're familiar with and don't spend too much time setting it up. I'm familiar with Trac, Redmine and JIRA, but all of them are not trivial to setup for me (YMMV). I end up using YouTrack. It's free for 10 users, no installation. Just download the JAR file and run from command line: java -jar youtrack-3.0.jar 9999. This assume you have Java runtime installed,

The next thing in mind is a version control system (VCS). You must use VCS. Use the one you're most familiar with (if you're familiar with none, then stop coding and learn one, Git is good).

Important lesson: If you don't like to wait, make sure your infrastructure is fast. Get a good computer with enough CPU and RAM. If you work alone, setup issue tracker and VCS in your workstation (localhost). If working with team, use the fastest server-based solution. I use Unfuddle for Git and installed YouTrack in an EC2 located in Singapore. If submitting an issue or comitting code take too long, you'll be tempted to open Hacker News and not working :D


In conclusion, remember not to spend too much in either "research" or setting up infrastructure. In the end, it's your code that matters.

Monday, May 30, 2011

Give it a name

The first thing you need in building a startup is an idea. Some people think that idea is worthless, but for me it is equally important as the execution that follows it and the team behind it. It sets your target so that you know where to focus. But don't fall in love with your idea, it can evolve and even change radically. You just need it to get started.

After having an idea, the next thing to come up with is a name. Having a name upfront is not required (you can use random name, e.g. "myproject", and change it later), but it simplifies a lot of things.

Name is important for:
  • Presence: domain name, Twitter handle, etc. We'll get into this in a moment.
  • Development artifacts: project directory, namespace (e.g., in Java, "com.myproject"), Redmine project, Basecamp account, etc.

Online presence that you need to secure


Domain name

Buy a domain from Google Apps, it's easier. You will get GMail-backed @myproject.com without setting up anything.

Handle in your target deployment

For example, if you use Google App Engine, you might want to secure myproject.appspot.com. This is optional, as it will usually be masked by your domain name (e.g. myproject.com will be forwarded to myproject.appspot.com), but it's always nice to have some consistency.

Facebook Page

Facebook requires that you have at least 25 fans before eligible for a username (that is, a facebook.com/myproject). Ask your friends to Like your page to secure it.

Twitter handle

This is obvious.

Blog (e.g. myproject.blogspot.com)

Not necessary if you want to use your domain, e.g. blog.myproject.com.

Remember that choosing name is not urgent, but the sooner the better.

Sunday, May 29, 2011

The journey of a thousand miles begins beneath one's feet

As promised, I'm going to start blogging again. Here we go.

It's almost a year since my last post and I told you that lots of things have happened. Ironically, I don't know what to write. Maybe I'll start with how I feel these days.

I don't feel happy.

I'm working in a big multi-national company, which recently been acquired by a much bigger multi-national company. That's good. But on the other end, I just feel like a drop of water in the sea. I miss being my own architect, developing things I like, using any tool or framework I want.

That's one.

The other thing, I always want to have my own business. Not the grand thing like the next Microsoft or Google (although that would be nice). I just want to have a simple small business, like a restaurant or massage parlor (with hot chicks under my employment, yay!).

That's two.

The last thing, right now the world is having "startup fever". This trend is also happening in Indonesia. Now everyone with their uncle want build a startup, get investment, get acquired and exit with a load of money. Everything with "getting more money" is always good for me, and I hate just sitting here watching other people partying.

That's three.

Because I miss architecting and hacking stuff, and I want to have my own business, and I want to join the startup wave, today I'm announcing that I'm opening a restaurant.

Oh, wait. You know I can't be serious. I barely know how to cook.

Actually, I'm in a very early stage of building a startup. Well, two, actually. What? Why? Shouldn't I suppose to focus on one first until it's launched?

It goes like this. I was starting on an idea, a website which suppose to help me scratch my own itch (that is, solving my own problem, and hopefully others'). But then a couple of weeks later a friend of mine asked me to become his co-founder. I told him that I'm currently working on something else, but he didn't mind at all, so there comes my 2nd startup. Both are not related to each other.

Will I quit my job now, lock myself for months and start hacking? Not quite. The stuff I'll be doing are totally not related with my company's line of business (so no conflict of interest), and I don't set deadline for the projects, so it'll just to "kill time" and won't affect my day job. Of course this might change.

From now on, I'm going to blog primarily about my experience in building that two startups (one where I'm solo and another where I have a co-founder). I hope by doing this, I can keep motivating myself (and, oh, make myself happy!) and help others who want to build their own startup.

Note: Some of you might be curious about this blog title, "Isn't that supposedly "A journey of a thousand miles begins with a single step"? According to http://www.quotationspage.com/quote/24004.html, the more correct translation from the original Chinese would be the one I put in the title. Rather than emphasizing the first step, Lau Tzu regarded action as something that arises naturally from stillness. Another potential phrasing would be "Even the longest journey must begin where you stand." In other words, you must get your ass off your comfort zone.

Sunday, May 22, 2011

I'm still alive

Hi guys, just to let you know that I'm still alive. Lots of things have changed since my last post. I promise I'm going to blog more often. Stay tuned :)

Looking for my geek side?