get in touch

+84 90 8686 273

Ho Chi Minh, Vietnam




about me

Frankly, I am a visionary guy. Exploring new things is in my blood especially new technologies.

I love playing instrumental equipments, it makes me feel better when I am in a difficult situation. When I have freetime, I often read books, listen instrumental musics, travel and play games.


2016 - NOW

RingMD - Software Engineer

Work at RingMD, a Singapore-based startup company, an online medical platform which helps patient and doctor easily connect with each others.

At RingMD, I am responsible for:

Develop the bot named Cardea which uses elasticsearch and natural language processing to answer patient's questions based on our dataset.

Implement the core features for RingMD, RingWell and CSC India like phone, video call and chat.

Apply MJML Framework to improve development process for email.

Integrate our platform with 3rd party metric services like Kissmetric, Hubspot and Salesforce.

Take responsibility to refactor our legacy source code by using DDD and functional programming concepts.

2014 - 2016

EmploymentHero - Software Engineer (Full Stack)

Work at EmploymentHero, Australia’s fully integrated cloud HR system with a free jobs board, integrated payroll and live HR support, making managing employment easy.

My role was mostly applied DDD concepts to restructure our sourcecode. Besides, I implemented features including scheduling and assignning jobs and synced data across HR platforms.

2013 - 2014

RingMD - Software Engineer (Full Stack)

Work at RingMD, I was in charge of creating boilterplate for frontend (Angularjs) and implemented phone call and video call for RingMD.

2012 - 2013

Deekau - Software Engineer

Worked at Deekau, is an outsourcing company, as a Junior Ruby on Rails Developer. My boss assigned me to research new technologies to apply in the company. At that time, I had a chance to learn new techologies like WebRTC and OpenID.

2011 - 2012

SELAB HCUMUS - Embedded Engineer

I researched in embeded system. My role was to compile the linux kernel for Embedded OS and port it into boards like LPC2378, Mini2440... in order to make it work and program on those devices.


2008 - 2012


I was one of 50 students that were chosen to participate in the Honor Information Technology Program which is much more advanced. It focuses on algorithm, machine learning, graph theory, data mining, natural language processing and logic. I graduated with a GPA of 8.5/10.


Hackathon Vietnam 2011

My team got the third price for our app which simulates equipments in our house.

Tap That Nokia

My team got funded 2000 USD by Nokia for our game whose mission puts objects into screen and lets ball bounce to destination.


Twins Blitz

Twins Blitz is free-to-play multiplayer online video game. Its logic is based on finding all matching pairs, pairs is matched if they meet two conditions below:

  • They are the same kind of pieces.
  • The path, which connects them, cannot exceed three edges.
Our Stack

Game engine: Cocos2d-x

Game server: Node.js, Pomelo

Backend: Ruby on Rails, Postgresql


Our Stack

Frontend: Angularjs, React/Redux, Babel, Webpack

Backend: Ruby on Rails, Postgresql, Elasticsearch, Redis, RabbitMQ, Elixir, GraphQL


Speaker at Ruby Vietnam

I am a core member of Ruby Vietnam Group. Having a presentation about topic which introduces and goes deep into Rails Caching.

Rails Contributor

In 2016, when I created the mjml gem to support MJML - The Responsive Email Framework for Rails, I found out that Rails didn't support mime-type customization for email when using email-body. So, I submitted the PR and got accepted.

Hackernoon Writer

In 2017, I wrote several articles about javascipt on Medium and became Hackernoon writer.

Translator at Elixir Vietnam

I am a core member of the Elixir VietNam Commnunity, and participate in translating Elixir School website , and Ecto 2.0.

Github Repositories

Contributor for Rails, Sprockets Rails, Cocos2d HTML5, Cocos2d JS, Faker.js, FFaker, Rack Rewrite.

Creator of those libraries

Factory Girl: sets up objects as relational data used with jasmine, mocha or qunit.

Client Variable: exports rails variables to client side.

Phoenix MJML: Phoenix template engine for MJML.

Elixir Lodash: Lodash implementation in Elixir.

Plagiarism: Search for plagiarism and check the duplication of your content from Bing, Google, Yahoo and DuckDuckGo.

Redux Boilerplate: Boilterplate for React/Redux project which is using Node.js, Express, React, Redux, React-Router, Babel 6, PostCSS, Webpack to take advantage of new technology.

Skype Bot: Ruby wrappers for the Skype Bot API.

HTML Webpack Condition Assets: an experiment to custom html webpack building process.

Rails MJML: Rails template engine for MJML.

Munna: Simple wrapper cache for ActiveRecord, Ruby Object.

Hubspot: Ruby wrappers for the HubSpot REST API.

Exd: Command line for downloading written in Elixir.

Messenger: A Ruby interface to the Facebook Messenger Platform API.

Angular Clamp: Clamp an element by adding ellipsis if content exceeds parent's width.