<Hi/>I am Max,Frontend developer


I am based in Singapore, have Javascript, React, ReasonMl, ReasonReact projects you'd like to discuss?

My Experience:

Built job portal web app with reasonML/ReasonReact, expressjs and mongoDB

I have added a demo on how I use ReasonMl/ReasonReact with expressJs and mongoDB, you can see how I use Atdgen for sharing types from frontend, reasonML and backend, expressjs/javascirpt types. You can see how I use bs-emotion instead of css, or sass to style the components. you can see the repo on: https://github.com/maxlibin/ParentalJobs This […]

Read more

Build a childcare center search engine with reasonML

I made a demonstration on how to use ReasonReact/ReasonML to build a childcare center search website. the demo can be seen on: https://amazing-fermi-decca3.netlify.com/ Few tech stacks used here are:ReasonML language, ReasonReact Framework, BS-Emotion for styling, BS-fetch for promise fetching data, BS-JSON for decoding JSON to BuckletScript. Source code can be found on github

Read more

Writing css on ReasonReact with oCaml

Recently I was working quite a bit on ReasonML / ReasonReact projects, and we moved from writing old approach of writing external CSS to inline-css with bs-emotion (using oCaml syntax directly). Its really easy to use css or sass / scss into ReasonReact components, you can import them the same way you import with from […]

Read more

ReasonML ReasonReact updated with React hooks

With the latest ReasonReact update, finally support hooks, and new way of writing reasonReact with more functional approach is so much better, easier and fun. Lets try to begin with a new Component, Button.re, BTW, there are some API was replaced to new name space “React” from “ReasonReact”

As you can see above code, […]

Read more

Higher order component for ReasonReact

A higher order component is basically a reusable component which allows you to takes in another component and return a new component. To recap about higher component check our my older post here In ReasoML higher order function are called “Functors” which takes in a module type and returns a module type, functors are written […]

Read more

Better way to decode JSON in ReasonML/ReasonReact

Recently I was working on some reasonml/ReasonReact project which required to request data in JSON format from an API endpoint, well there are some BuckleScript decoders such https://github.com/glennsl/bs-json which is the more popular one,the way you decode is pretty easy:

you pass in the json and define the field in Json.Decode… at first it […]

Read more

fast piping in reasonml

fast piping allow you to transform your function code into more readable syntax, imaging you have human(person(age())) this is very inconvenience to see. with piping you can do it like this:

which is exactly the same as human(person(age())) there are 3 different pipes as I understand you can do like


whats different […]

Read more

Convert React project to ReasonReact project

Recently I converted one of my old React project while studying React from Udacity sometime back, Since I am reading ReasonML recently so I thought I might as well convert to ReasonML language or ReasonReact, you can find it here. MyRead ReasonReact

Read more

optional chaining in javascript

Imaging if you need to access deep level of property and you are not sure that if such properties exists deep down, you are doing something like

This is really difficult to read and understand sometime. there is something called optional chaining in javascript proposal which you can use if you include in babel-plugin-proposal-optional-chaining […]

Read more

ReasonML 101 notes

Reason 101: variable assignment with let keyword cannot is immutable, but you can set it to mutable by assign to ref() example JS:

in reason:

for string concat:

array in ReasonML is using [|”a”, “b”, “c”|] /* | = pipe symbol */


list is immutable. in list you can […]

Read more