KamaLabs

Portfolio

Nazwa Catering

Sejiwa Foundation

MIK

DFI

Bappenas

Enjoy Jakarta

Openbravo ERP

ParInvest Logo

Dekbed Expert

Pusdiklat Dephut

Newer posts

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.
parinvest-logo ParInvest is a global consulting firm focused on the needs of foreign clients wishing to invest in the United States. The company offers acquisition, disposition, leasing and property management services for residential and commercial real estate, specializing in exclusive properties in premium locations with strong demand characteristics. Parinvest Asset Management is a joint venture between investment banking group Crédit des Alpes, globally recognized for its consolidated experience in financing and investing in exclusive real estate transactions around the world, and Parinvest LLC, one of the largest real estate brokerages and asset management groups in South Florida. To date, Parinvest Asset Management's portfolio of investment opportunities ranges from Miami Beach hotel condominium units to commercial net leased properties and redevelopment projects in New York City and Los Angeles. My job was to design a logo for them. I got the project via 48hourslogo.com. Well, it's not really a project since we're competing there in 48hourslogo. My logo won and they chose my logo. After the logo design, they also asked me to create the animated version of the logo, to be used on their website. I built it with HTML5, CSS3 and jQuery. All those tools were still in its infancy back then.

Project Challenge

This was my first time working internationally and remotely with people from different country. I was in Indonesia and the client was in the USA. There was a significant time difference between us. Collaboration was all done via email, so it's kinda slow since each of us would have to wait for the others to wake up and check their email. I got many lesson learned from this kind of collaboration for another remote international work.
dephut The client is Ministry of Forestry, Republic of Indonesia. They need a web application for their training center. This is one of my earliest web project. I did this way back during my freshman year in college. My role in this project was to design and develop the front end code of the application, as well as the main site of their training facilities. It was all built using vanilla PHP.

Project Challenge

Since this is one of my first experience doing a web project, anything about this project is challenging for me :D This was also the first time I really did a project collaboratively under supervision of a great project manager. He taught me many things on how to run a project with many team members.
openbravoIn 2008, I took an internship at PT Bening Guru Semesta. My job there was to implement Openbravo ERP (Enterprise Resource Planning) and Openbravo POS (Point of Sales) to two of their clients: Tasya Baby Store & Madani Mart. Tasya Baby Store is retail chain in Indonesia which sells baby product while Madani Mart is a minimarket chain in Indonesia which sells any kinds of groceries. I was assigned to create several module to the Openbravo ERP which are based on JSP. Another thing that was assigned to me is Openbravo POS. I have to integrate the POS system with an old printer. This need some low level programming with the printer API.

Project Challenge

That part with the old printer is the one which is very challenging, since I couldn't find any documentation whatsoever about this particular hardware and how to integrate it with the POS system. The old dot-matrix unbranded printer seems to be manufactured in China. I had to delve into some random online forum in China to check on any slightest clue of how to operate this printer programmatically. I finally ended up just did a trial error here and there with the printer connection until I could find out how to program this printer.
20-sejiwaYayasan Semai Jiwa Aminin (SEJIWA) is non profit organization who works in education field. It main concern is to stop bullying in educational institution. Sejiwa want to emphasize the importance of self-actualization through some norms i.e integriry, empathy, respect, tolerancy and responsibility. Sejiwa foundation is empowered by experts in pshycology, education and many other professional. It has gather partnership with government agencies, schools, local & international NGO, education institution, mass media, companies and influential figure to achieve its mission. Its partner include: Exxon Indonesia, GE Indonesia, Plan Indonesia, CRC (Child Right Coalition) Asia. My job was to built a website for them. This website was meant to be the central power house of any of their social campaign. It was built using wordpress with custom built theme.
21-thaniaNazwa Catering is a company who works on catering service industry. Previously named Thania Catering, it changed its name on 2012. Thania Catering itself has been around since November 2000. It is a business unit of CV Kaser De Tanko which is a company who specialized in procurement industry. My job was to built a website for them. Something that could be a display of their experience in catering industry. The site was built using Wordpress CMS with custom built theme.
26-mik PT. Mitra Integrasi Komputindo (also known as “MIK“) is an Information Technology and Professional Services company based in Jakarta, INDONESIA. MIK was established in 1998 by experienced and skilled IT professionals that have served the industry for many years. Our responsibility here was to develop an online company profile for them. The site was built using Wordpress, we develop the theme by our own. It's custom built theme to match MIK's corporate branding.
FireShot capture #134 - 'PT Digital Fidusia Indonesia' - www_dfi_co_idDFI is an abbreviation of Digital Fidusia Indonesia. It is an information technology service provider focusing on insurance industry. DFI founded in 2006, it is inspired by the dynamic of the ever-flourishing insurance industry that requires information technology solutions & services to act as primary business enablers. The requirements for the extensive technology based systems and procedures supported by skilled and professional people are increasingly being felt, specifically in the area of technology based education industry. Our responsibility here was to develop an online company profile for them. The site was built using Wordpress, we develop the theme by our own. It's custom built theme to match DFI's corporate branding.
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 ;) ).
Bappenas is abbreviation of "Badan Perencanaan dan Pembangunan Nasional", in English it means "National Development Planning Agency". It is a government institution with the same level of ministry. Its main purpose is obviously to make and evaluate planning for Indonesia's national development, as the name suggest. The scope of the project was quite big, here are some of it:

Rebuild the old Drupal based website using a more modern Concrete5 CMS

Their old website was made using an old un-maintained version of Drupal. They didn't maintain it very well because the don't know how, the developer of the old website could no longer be contacted for help. So they decided to hire a new developer to build a completely new website. The choice of Concrete5 CMS was made by them. They thought that since their old website use a lot of block styled component, usage of Concrete5 would be a bliss since Concrete5's main selling point is it's ability to manage the website by drag-and-drop-ing block component. To match all the requirements of the new website, we made several custom built plugin for Concrete5 CMS.

Migrate massive amount of data from the old website to the new one

The old drupal based website already had abundant amount of data both structured and unstructured, either inside the database or in downloadable PDF/DOC/JPG/etc. files format.  We had to migrate all those old data to the new Concrete5 website. There was huge amount of work of mapping Drupal database structure into the Concrete5 database structure. We made a lot of tests to validate each migrated data.

Implement a mailing newsletter system and integrate it to the website

They asked for a newsletter system which could be integrated into the website. We implemented it using PHPList and integrated it to the Concrete5 CMS.

Implement an SMS gateway system and integrate it to the website

In addition to the mailing and newsletter system, they also asked us to integrate the website with their ready-to-use SMS Gateway system. They want every comment/message to a department of their institution be notified via SMS to the corresponding official. For this task, we create a special plugin for concrete5 CMS to communicate with their Kalkun SMS Gateway API.

Implement and integrate an independent search engine system

Concrete5 CMS doesn't have stellar searching system. All it does is just a simple text search throughout it's own database. No ranking algorithm, no indexing. It's also unable to read anything from the plentiful amount of downloadable PDF/DOC files. Bappenas need it so much but there's no way to customize and extend Concrete5's searching functionality. Futhermore, Bappenas has many independent information system with their very own functionality such as data library system, GIS, etc. Each system has independent basic search engine of their own. This is also a problem for them. They want a unified search engine system which is able to crawl and index all of their internal data bank as well as their public web page. So, we built them one using Apache Nutch as the crawler and Apache SOLR as the indexer. We constructed a separate specialized server infrastructure for this search engine system.

Project Challenge

I am not the actual contractor of this project. I'm just a subcontractor. In the beginning of the project schedule, the main contractor couldn't handle the project very well since they didn't have the resource to do the work. Beside, they're not exactly an IT company, they're just a general contractor company. They thought that this project is not so complicated (IT-wise) and they believed they could just find someone who can do the entire job for them. They're wrong. Months goes by without any progress from them. That is where they contacted a friend of mine and myself for help. We started by re-evaluating the project requirements. We wanted to make everything clear between us (the subcontractor), the main contractor and the client itself. After that we realized that we'll gonna need more people into the project, so I convinced the main contractor to hire more people to join the project. We did it, after that, I was being promised that they, as the main contractor, would appoint one of their man as the project manager to coordinate us all. It turns out to be an empty promise. They didn't really do the role as project manager for us. So, we're (the subcontractor team) ended up being scattered and un-coordinated. Since I was the only team member who was a full time freelancer, I was the one who has the most available time to meet with the client. The client thought that I was the project manager. More or less, I took that role as the project manager indirectly.

Older posts