KamaLabs

jQuery

Mikalu

Dikti

Internet Banking Data Sync

Mikalu

Enjoy Jakarta

Dekbed Expert

Jquery CSS Gradient Generator

mikalu Mikalu is a bedding online shop. It is my 4th startup. While all of my startup had been closed down, this one prevail. I started it initially as a way to help my sister with her then-bankrupt offline bedding business. She used to sell bed sheet and/or bed cover offline with a store in Cipadu. Sometimes, she also tried to promote it online via Facebook. Her business didn't run very well. She got drown in the competition (her store was located in one of the center of bedding industries in Indonesia). She got too many unpaid debt and no longer had enough capital to run the business. At that time, I was also just closing down my own business, Univind. So, I thought that I could help her by focusing on the online business. Unlike her previous offline business which need quite a lot of capital for production, online business doesn't really need that. With online business we could do a make-to-order business scheme. We make the product only after the customer paid for it. I proposed this idea to her and she agreed to do a joint online business. We named it Mikalu after her first son's name. In this startup my role is specific to all the IT and online marketing stuff, while her role is in production and general business development. I deal with the website development, server maintenance, search engine optimization, social media marketing, etc. The business runs pretty well from there. It has its ups and downs but it just keeps growing until now.
Layanan Startup
Spectral Jquery Gradient Generator This is a jquery plugin which are able to generate CSS gradient lengthy script. This tool was meant to be used by theme designer who want to incorporate customizable CSS gradient within their theme. It's built using jQuery UI and jQuery Colorpicker. Github page: https://github.com/emkamal/Spectral-Jquery-Gradient-Generator Demo page: http://kamalabs.com/Spectral-Jquery-Gradient-Generator/
dekbed-scrSoon after I close my own startup, Univind (web design agency), I got a job offering from a similar firm in Netherland: YaviDesign. They have office both in Netherland and in Bogor, Indonesia. They gave an option for me either to move to Bogor and work on their Indonesian office, or to work remotely from home. I chose to work from home. In there I was being tasked to handle several projects with their clients, one of the most prominent client was Dekbed Expert. It was all Magento based online shop. Below are some of my job responsibilities:
  • Design a Magento template to be used by their clients
  • Create proprietary template framework to be used company-wide on future theme design project.
  • Develop some Magento plugin
  • Do a test and some bug fixing to some of their templates / plugins

Project Challenge

All my work here was done remotely. We used SVN as the versioning control and Redmine as collaboration and project management tool. This was my first time doing a fully remote software development project. Initially, there were many mistakes I did here and there with the collaboration tools. But as the time goes by, I was becoming used to the whole remote collaborative project.
enjoy-jakarta-11 The client of this project is DISPARBUD DKI Jakarta. It's an abbreviation of "Dinas Pariwisata dan Kebudayaan DKI Jakarta". In English, it is translated loosely to "Tourism and Cultural Office of Jakarta". It's a local government institution which deals with tourism and cultural issue. My responsibility in this project was to rebuild their website. Their old website was developed using a custom built PHP CMS. Unfortunately, this custom built CMS has too many fault in it. It had too many bugs. It's slow and unsafe. The design was clumsy. The code was a mess. At first we planned to annihilate this old website and rebuilt a new on with better CMS, but then I ended up fixing it instead.

Project Challenge

In the middle of the project, there were a succession of the leadership in Jakarta. We were finalizing an election and just got a new governor in Jakarta: Mr Joko Widodo (Jokowi). Jokowi did some reshuffle to his officials, including officials at the Tourism Office. So, at that time, the PIC of the project moved to another person. This turned out to be a big dilemma for the project. We were halfway through our project and then there was someone new "in town" and she wants everything changed. The institution didn't have a good succession mechanism to make sure that the works which were still running, could still run smoothly. The new official demanded so many new things from us that we ended up being brought back to the beginning of the project. And all of a sudden, we were finally just brought back the old website and fixed what's wrong it instead of continuing to develop the half-finished new website. Of course we're familiar with the fact that fixing someone else's code is harder than writing a new one. But, in this case, where there's already too much miscommunication between us and the recently-changing client, doing whatever the client wants is better than just dumping the whole project. For the sake of our integrity and credibility, we chose the hard way to fix the broken web. Thankfully, we managed to finish the project with client somewhat satisfied (although I wasn't ;) ).
mikalu Mikalu.com is a bedding online shop. Mikalu sells bed sheet and bed cover throughout Indonesia. Most of the sales are done with dropshipping scheme. The dropshipping scheme works as follows: Reseller promote Mikalu's product as their own, when their customer order the product, the reseller purchase it from Mikalu. Mikalu would then process the order and ship the product directly to the reseller's customer. My job was to build a system for that dropship scheme. So, it is not just a basic usual traditional e-commerce system where they sell the products directly. It's more of an e-commerce with sales channeling system. The system was built using customized Wordpress + WP E-Commerce plugin. Beside the e-commerce system, I also designed the logo and developed the theme. I've make sure that the whole design pattern follows company's orientation. The logo design and color choice were chosen to reflect it's main target market, that is middle age woman. I made sure that the theme is search engine friendly enough to make it's content easily crawled and indexed by search engine bot.
TUT WURI HANDAYANIDIKTI is an abbreviation of "Direktorat Pendidikan Tinggi". In English, it means Higher Learning Directorate. It is a subordinate body of the ministry of education, Republic of Indonesia. This government institution deals with any occasion about higher learning education in Indonesia. Prior to my entrance, their website is somewhat mediocre and obsolete. It's slow, lousy, not well-organized and resource hogger. My job was to fix it all.   The first thing that I did was to give several suggestion regarding what kind of modernization needed for DIKTI's website. I, mainly highlighted on the information architecture. DIKTI has distinctive type of visitor to its website, those are:
  1. Student. They visit DIKTI's website mostly to look for scholarship opportunities, either domestic or foreign.
  2. Professor. They visit DIKTI's website to find information about lecturer certification, international conference opportunities etc.
  3. University officials. They visit DIKTI's website to check on new regulations, registering for a new field of study etc.
Old DIKTI's website didn't have easy to navigate information architecture to accommodate those 3 type of visitor. They simply just threw out any so-called "important pages" to the main menu. I fixed it by reformatting the navigational structure of the entire website along with the development of the new design template. Another thing that I emphasized is the performance. It was so slow that the connection dropped most of the time. They had problem with their obsolete CMS, conflicting plugins, and un-optimized server configuration. I dealt with all those issue. I upgraded the CMS, re-arranged all the plugins and optimized the server configuration. Beside rebuilding their main website, I also developed two subsite: the English version of the site and one other site to unify all of their public service under one roof (SatuLayanan Dikti). Those two subsite were built using the same engine: Wordpress. While upgrading their Wordpress installation, I also configured their old Wordpress to have multisite functionality. The English version of the site is using the same template as the main site for uniformity reason. While SatuLayanan Dikti use another metro-style theme design to facilitate easier finding of their public service information by the visitors.
PHP Application to crawl, retrieve, archive and compile several internet banking raw data from different Indonesian local banks. This application was scheduled to routinely get internet banking raw data using cURL. Those raw data would then be parsed using PHP Simple HTML DOM Parser to convert raw HTML data (mostly in the form of traditional HTML table) into a structured data. Finally, these structured data would be saved and archived to the database (using MySQL database) for later use. This application is able to automatically categorize each transaction by examining the sender name and the pattern of the transaction description. This automatic categorization is very useful for me to analyze my own incomes and expenses.

The Challenge

The main challenge with building this kind of application is of course tackling any kind of restriction from the banks. Many banks implement many kinds of restriction on their internet banking system to prevent robot to grabs the data. They might implement sophisticated Captcha, session based URL, HTML obfuscation etc. Also each bank has their own presentation of raw html data. This require me to build a special parser for each one of them.