Projects

Concepts around building software

Concepts around building software

Ever since I discovered Foam, I was waiting an opportunity to try it out. It’s a personal knowledge management and sharing system inspired by Roam Research, built on Visual Studio Code and GitHub. It fits nicely into my development workflow, so that’s a plus.

Over the weekend, I attempted to build a personal workspace on Foam. Currently I’m using Notion.so for my notes, journals and personal information. The Graph Visualisation in Foam (screenshot below) is the main feature I wanted to explore.

Building Ruminate.io: Real-time Feedback

Building Ruminate.io: Real-time Feedback

Ever since the Alpha release, I’ve been focusing on making it easier for users to get started. Matrices can now be shared, cloned and user can also browse the template directory for pre-made matrices.

However, there is still one obvious barrier that I’ve been ignoring from the very beginning. In order to build and edit a decision matrix, you must sign up for an account first. If I wanted anyone to be able to quickly get started, the app will need to support the ability for guest to create and edit a matrix.

Building Ruminate.io: First Contact

Building Ruminate.io: First Contact

As the saying goes, no plan survives contact with the enemy. In this case, no product assumption survives the first contact with real users.

I’ve been building Ruminate.io with the assumption users understand what a decision matrix is and how to use it. This may be true for some but it’s definitely important to provide some guidance for the rest.

Building Ruminate.io: Towards Alpha

Building Ruminate.io: Towards Alpha

After building the main user journey for Ruminate.io, I focused on getting it ready for its Alpha release. The objective of this release is to gather feedback from others using it so I can decide where to take it next.

As you can see on the screenshots below, I marked the non working parts of the app as coming soon so I can get the app out the door quicker.

Building Ruminate.io: Core Concept

Building Ruminate.io: Core Concept

It has been years since I’ve worked on a side project. So when I found some spare time and an idea that seems interesting along with the arrival of Phoenix LiveView, I started working on Ruminate.io.

This is the first of a series of articles to recount the entire journey of building this app. For my learnings of Phoenix LiveView while working on Ruminate.io, check out this article.

Learnings from my very first Phoenix LiveView app

Learnings from my very first Phoenix LiveView app

The release of Phoenix 1.5 with LiveView integration gave me the perfect excuse to finally build a LiveView App. I decided to build a simple Decision Matrix app named Ruminate.io. For a deeper dive into the app, check out this series of articles that recounts the entire product development journey.

I’ve been keeping an eye on Phoenix LiveView ever since it was announced by Chris McCord back in 2018. However, this is my first attempt in building an entire app with it and there are some interesting learnings, insights, mistakes and challenges along the way.

A tale of two passions

A tale of two passions

Recently, I had the chance to speak at KL Elixir Meetup and I shared our journey switching from Ruby/Rails to Elixir/Phoenix in the past 2 years. It recounts the lessons and mistakes we encountered along the way and how it has changed the way I look at problems.

Thanks to the organizer, Syamil for opportunity to engage and get to know the Elixir community in KL. Below are the slides of my talk and I hope you learned something. If you haven’t given Elixir a try, today it’s the day to start.

The easiest way to transfer information between different devices

The easiest way to transfer information between different devices

Thanks to the Post-PC revolution, most of us use more than one computing device. Most likely you will have at least one smartphone. Then you may have a tablet, laptop, desktop or all of them. It’s not uncommon to have more than a dozen devices in a household.

Most of these devices run on different operating systems. This makes it annoyingly difficult to transfer data and information between them. Most of them time, I have to resort to either pasting the information in a note application, a chat application with a message to myself or over email. And this will only work if I had the app installed on all my devices.

I wanted the easiest and fastest way for me share stuff between my devices and found some web clipboards online. Web clipboard is basically a web application that behaves pretty much like a clipboard on your computer. You put in whatever information you wanted to share and it will generate a unique link that you can use to access them. The catch is that most of them only support saving textual information which is good enough for me.

What happens when KK goes Lean?

What happens when KK goes Lean?

Last weekend, instead of watching a movie or lazing at home, about 50 people decided to spend their time stalking strangers, working late and building prototypes. They participated in our very first Lean Startup Machine (LSM) workshop here in Kota Kinabalu, Sabah.

For the uninitiated, LSM is quite different than your average workshop or hackathon. Besides learning and working on your idea, you are "forced" to Get out of the Building to interview, sell and pitch to your customers. It focuses on customer development and practices the mantra of Learn First, Code Last.

Outsource your decisions

Outsource your decisions

Take control of your life by deciding to decide less

At last year’s Team Retreat, while enjoying the breeze on Khao Lak Beach in Thailand, I told the rest of the team that I don’t care about people. We were playing Two Truths One Lie and there are times when I’m unsure if that statement was true or a lie.

Studies have shown that willpower is a limited mental resource. Every time you make a decision, it depletes that same energy resource your willpower uses and eventually you’ll give in to your desires. This is known as Ego Depletion.