Thursday, 16 July 2020

Developing ReactJS + React Native with Firebase


We as developers at least have encountered tutorials working with Firebase. It's common things now to use Firebase as a backend system for your mobile app or web app.

For me, I haven't been into Firebase so much until this recent time.

I have built a complete app by utilizing many aspects of Firebase.

Here is the summary of what I have done with Firebase:

- Authentication
- Change the user's profile
- Using the real-time database
- Read the nodes and change it into an object or an array.
- Create a node at a specific place.
- Delete a node
- Set a node with specific value. By using set, it will replace other things inside the node.
- Update a node. This will only change specific items on the node.
- Move the node from old to a new place. It was dangerous when add a null object it's actually deleting the node.
- Upload item to cloud storage

.. and so on

Till next time!

H2 of 2020


It's already H2 of 2020, hope you find this year quite meaningful even though facing such unprecedented times of Covid-19 pandemic.

As I do from the early of this year with Orderla, and the tough time we had from MCO, Orderla has become a choice for people to sell online.

We reached 2000++ merchants last 3rd July, and currently have over 100 paid subscribers on Orderla Plus.

That's actually validate something, that the system is needed by many sellers online. We are just scratching the surface of simple ordering form to WhatsApp can be.

At first it is just a simple form to choose and send to WhatsApp. But it could be more than that.

It's at first at technical perspective, very easy to maintain system as it is just only route back to WhatsApp and the seller and buyer can interact on their own.

For Plus plan, we can use payment gateways to systemize how do we get paid and also get notified when it's done via mobile app.

Orderla Direct ( In Select Beta Testing )

The next step we are trying for is to completely skip the WhatsApp part of the ordering and jump straight to the payment.

Technically for making Orderla Direct is need to stricter at inputing form. We need to validate the format properly

For the next step user can be able to put their location and automatically knows the price for delivering.

The type of business is quite varied. Orderla tries to support as many types as possible. But at the time moment, the type needed for Orderla Direct is need:

1. Payment Gateway
2. Delivery methods ( with address )

Orderla Direct cannot use without payment gateway, you cannot pay buy COD or manual bank transfer. It's just not work for now.

See the Result 

Let's wait for internal testing for Direct first, because we currently build cannot cater for all kinds of normal Orderla form can do.

We still improvise the system and hope it can be released to public soon with an attractive pricing option.

See you on the next post.

Tuesday, 30 June 2020


WWDC2020 has been finished just a few days ago. And the keynote was announced a week ago. 

At the keynote we have learnt a lot about the plan of Apple in the future. 

1. Apple Silicon 

This is the main theme for this WWDC. Moving forward, the biggest product and the most important Apple product, Mac, will be using Apple's own silicon ditching Intel's processors. 

2. iPad Get New Way to 'Type'

With iPadOS 14 users now can scribble with their Apple Pencil to input text. 

3. iPhone get Widget on Homescreen

So this is quite exciting thing for iPhone users. We will get a spice to our iPhone's homescreens. If you don't like it you can make the iPhone as it is. 

I think this is the first time ever we can put other things than the icon on the homescreen, in almost 13 years! 

So here you go, the news on WWDC.

And also we also finally published Orderla Admin app for iOS and Android.

iOS has some issue dealing with subscription which Apple just want it cut. But quick fix is just enable In-App purhchase in the app. By providing per year subscription with expensive price tag, it should be hard to manage if ever people want to buy via Apple In-app purchase.

The link is here :

Thanks and stay safe!

Friday, 19 June 2020

Orderla Plus 2-month-old

We have launched Orderla Plus exactly 2 months ago, which means the first (and still active) subscribers will renew today for the second time. 

This is my first SaaS type of business which is quite cool. Aside from previously app-related business, I have been using ads, in-app purchases, and paid apps, but never a subscription basis. 

The difference is that the service must have the value of being subscribed in a period.

Compared to utilities apps I made such as FaceClock, it's one time purchase to get workable software forever ( or the longest time ). Nevertheless, developer also needs to maintain the compatibility for the apps for the latest hardware. However, the revenue always comes for new customers. 

The long time value (LTV) is quite low. In fact it's static without any additional products offerings. 

Enter SaaS

SaaS is (Software as a Service) and usually based on the subscription. 

In Orderla case, we provide a platform for the business owners to make money buy let their customer order items via WhatsApp. That's the basic premise. But Orderla offers more than that, even in free Basic tier. 

A business owner can manage their orders, get a total of sales, and also special features like check-ins. 

Yes, even free tier can actually helps them to make money. 

But, if business owners want more, we have Orderla Plus as for offering. 

Evolution of Development

At launch, I don't have the Plus at the beginning. I just open up Orderla at first with pleasant UX for public to use it. It has to be good enough so that people want to use it. It must bring value to people.

And people are giving feedback. People want this and that.

Yes, I can help with something, but there is request that I identify as 'power-request', means that they are quite good and want more to facilitate their business. 

Yes, I can help them. But lets make another plan so that they can subscribe and have more 'power features'. 

Then from then I started add the 'power features' into next tier plan, then launched it. That's it business model for Orderla and it also give people good deeds by helping free plan users by subscribing to Plus plan.

Because I don't get any revenue from free users. So with Plus users, they are helping others indirectly to support the maintenance cost.

Moving Forward

Orderla will have it's own mobile app. It's on the final stage of development for V1.0. I don't want to make it too complicated as has to serve as 'push notification' hub. And yes, it will support for Plus plan as well. Big bonus. But will consider to raise the Plus price in the future because I have already so much add-on to Plus.

And to make multi-plan also need some development bandwidth as well. 

Managing Subscribers

As I mentioned before, I might open up some more plans. But managing subscription is quite challenging, I am quite new in this segment and still learning.

At first, we just open up for people to subscribe via Stripe. And Stripe SDK / API is comprehensive and the integration with the system is key for making the subscription system works. 

I just need to keep record of their subscription ID, then I can checkout their payments invoice / receipt via Stripe API. 

This make more transparency for customers as well, they can access their payment records at their My Profile / Subscriptions. 

*** Users can 'cancel' their subscriptions anytime. But their Plus plan remains until the subscription period ends. 

After a month of subscription, subscribers will be charged automatically via debit/credit card via Stripe. Users will happily continue using Orderla Plus without downtime. 

However, there is case where payment don't get through. The status will change from 'active' to 'pending_due'. If the issue persist user plan will be downgraded to Basic. When the payment get through again I update it back to Plus version. 

So by that, I need a special 'rooms' for monitoring the status for each subscribers. All in semi-auto, or manual. 

When creating the system, I must understand all the possible flow.


This business is incepted at the early of 2020, but accelerated quickly as there is a need & demand for this kind of system when there is a crisis where people cannot go outside.

And this business is without a doubt is supported by people who are using this to help their business running smoothly. This service has been proven to help businesses. And I believe it has its value and could be big, and even bigger. 

Monday, 25 May 2020

Selamat Hari Raya PKPB

Syukur atas nikmat Tuhan, kita dapat beraya pada Aidilfitri ini dengan penuh keserdahaan namun tetap menggembirakan.

Walaupun di Malaysia kita tidak boleh merentas sempadan negeri, tapi pada yang masih boleh keluar, kita pergi ke tampat yang masih kita boleh pergi. Kalau ahli keluarga kita dalam negeri yang sama Alhamdulillah, jika tidak ramai yang ke tempat-tempat menarik untuk berlibur sebentar sambil bergambar.

Dari pihak iReka Soft, kami ingin mengucapkan Salam Aidilfitri Maaf Zahir dan Batin.


Sehari sebelum Aidilfitri, ada menyediakan satu feature baru iaitu 'Orderla Check-in'.

Fungsi ini khas untuk pemilik kedai fikizal untuk track record siapa yang datang ke kawasan mereka. Sebenarnya implementasi ini tidak begitu praktikal untuk kebanyakan tempat jika menggunakan pen dan kertas. Ia nampak kuno dan juga proses nya agak slow. Jadi dengan guna Orderla Check-in ini, ia dapat memberikan pengalaman yang lebih baik untuk pelanggan.

Betul Orderla ni berkembang dan evolve disebabkan PKP ini. Bermula sahaja PKP, nampak demand untuk peniaga terus jump ke platform online. Ya, boleh sahaja guna Whatsapp normal, tapi guna Orderla ni lebih tersusun dan bersistem. Jadi dengan kos permulaan yang free, seharusnya ramai peniaga enak sahaja membuat online store mereka.

Tidak pasti ianya terlalu mudah atau tidak. Tapi berusaha sedaya upaya untuk memberikan pengalaman pengguna yang bagus, yang mudah di fahami, mudah untuk upload gambar, listing items dan seterusnya menjual kepada customer.


Building Up the Expertise

Dengan deliver sistem yang hebat kepada pengguna Malaysia, pelbagai improvement dibuat dan juga di sediakan premium service sebagai feature tambahan yang boleh membantu bisnes anda lebih dioptimisasikan.

Ada tahap yang mana kita OK untuk membuatkan ia percuma, kerana kita mahu pengguna mencuba rasa adakah ia solusi yang cocok untuk mereka. Dan mereka juga boleh gembira kerana boleh juga berbisnes dengan zero kos untuk guna dan dapat order dengan ini.

Namun di sebaliknya ada sahaja kosnya. Kos server, kos untuk buat coding dengan hasil yang terbaik, opportunity cost, dan sebagainya. Lagi-lagi bila ada customer yang request pelbagai benda. Boleh aja kita penuhi kalau ia tidak sukar. Kalau sukar... kita cuba. Kalau terlalu sukar, tapi penting untuk kamu buat wang yang bagus, kenapa kamu tidak mahu bayar juga kepada kami kan.

Benda percuma ini juga, perkara biasa dalam dunia IT. Email, facebook, google dan macam-macam lagi free. Ia ada model bisnes lain untuk terus sustain dan juga menjana keuntungan.

Kita rasa Orderla ini juga tempat untuk berexperimentasi juga berlatih untuk membina sistem yang hebat.

Kita guna Stripe untuk mengambil subscription. Ia akan dibayar secara bulanan.

Yang bagusnaya Stripe ini, integrasi code nya sangat detail dan boleh kata transparent. Dengan well-written documentation. Ia memang boleh jadi integrasi untuk payment yang baik.

Hampir banyak benda boleh di automasi kan. Bila user start melanggan Plus plan, orderla akan update sistem untuk memenuhi fungsi plan Plus.

User juga berhak untuk 'cancel' plan bila-bila masa jika berasa begitu. Jadi stripe akan cancel-kan plan anda.

Cuma setelah sebulan berlalu, pastinya subscription cas akan cas automatik kepada credit/debit card tersebut. Ia mudah jika pelanggan cancel sahaja. Tetapi ada kes 'due paid', iaitu kes di mana, pembayaran tidak dapat go through.

Dari pihak kita, pembayaran tersebut failed. Kita tak dapat bayaran. Sebetulnya kita pun tidak begitu mengerti kenapa sebenarnya. Ada beberapa faktor yang dijelaskan dalam website Stripe seperti tamat tempoh, kredit tidak cukup dan sebagainya. Jadi untuk berlaku adil jika keadaan ini berlaku kita akan jadikan akaun tersebut balik kepada basic.

Ya, perkara ini masih dalam kajian lagi. Perlu buat interview bertanyakan hal yang sebenar.

Ok baik, itu sahaja perkongsian saya. Jumpa di lain post.


Thursday, 7 May 2020

May 2020

Welcome May 2020, it's 5th month of 2020.

Kita ada some achivement dah dicapai pada bulan ini.

1. sudah capai 1000 registered user pada platform tersebut.

Ini adalah milestone yang bermakna bagi kami. Kerana ia menunjukan ramai yang dah guna dan cuba sistem ini.

Ramai yang register setelah pergi ke halaman order oleh orang lain.

2. Orderla Affiliate Program

Sepanjang tempoh pelepasan versi Basic dan Plus. Kita memang dapat juga pelanggan Plus. Ia membuktikan memang ada orng memerlukan extra functions untuk meningkatkan eficiency bisnes mereka.

Plus feature bukan sebarang feature, feature yang memang ada value seperti payment gateways, multi-Whatsapp number dan lain-lain.

Setelah kita dapat result sedemikian kita juga percaya benda ini boleh dijual dan orang lain yang promote hopefully mudah untuk close seterusnya melayakan diri untuk dapat commission, jika users affiliate kita tu upgrade ke plus. Jika basic juga tiada komisyen ya.

To be honest lah, mudah untuk close sale jika anda sendiri sudah pakai Plus plan. Kalau pakai basic juga kita pun tak tahu selok-belok Plus feature tersebut. Jadi susah sikit nak convertkan mereka.

So far walaupun ada yang upgrade, tp still masih ramai (sangat) yang happy dengan basic sahaja. It's okay to be on basic, we are also happy for them. But in term of sustainability memang perlu pakej upgrade untuk cover cost orang yang guna free ini.

Begitu juga untuk bayar komisyen ahli affiliate. Ia adalah dari orang yang upgrade ke plus juga.

Ok baik, walaupun produk ia sudah boleh dipasarkan, namu ia bukan lah sebab untuk kita tidak terus meneruskan penambahbaikan sistem dari masa ke semasa.

Sunday, 26 April 2020

Orderla's Slow & Steady Update


Alhamdulillah, setelah lebih sebulan dah dipasarkan di merata-rata tempat (di media sosial). Ia sudah dapat berkembanng dengan sendirinya. Yang menariknya beberapa restoran di Tamarind Square menggunakan nya dan meletakan link orderla di profile mereka. Terharu sungguh.

Terima kasih atas sokongan kalian.

Yang best nya adalah feature-feature yang kita bina khas untuk pengguna selepas mendapat feedback. Bukan semua kita akan buat, tapi percayalah apa yang kita buat dapat membantu mengsistemkan operasi pengorderan.

Drag-drop untuk re-ordering product feature was a long due. Saya dah start develop sejak februari tapi hanya dapat di siapkan hari ini. Ia perlu masa untuk belajar concept react's library beautiful-dnd dan cuba mengimplemtasikan nya.

Pada awalnya kita perlu tahu bagaimana hendak setup DragDropContext, Droppable dan Draggable.

Kemudian setelah berjaya drop, kita perlu update arrays kemudian update kepada database.

Saya rasa React ni kalau dibuat dengan betul ia agak robust, dan predictable. Mudah untuk kita develop.

Namun pada awalnya library tersebut agak complicated, tidak menjadi sahaja. Tapi saya terus mencuba sampai berjaya.

Ok, selain dari itu, beberapa features ringkas tapi penting juga dilaksanakan khusus untuk pengguna yang meminta bagaimana hendak memudahkan urusan mereka melalui sistem ini.

OK, itu sahaja dari saya. Saya harap sistem ini terus berkembang, dan dapat menjadi bisnes yang sustainable untuk masa akan datang. Terima kasih.