I’m a full-stack web developer. I provide tools to help businesses and companies turn concepts into reality. In my free time, I love to trek, dive, cycle, take photos and climb mountains.
Languages spoken
- Javascript
- Ruby
- Python
- SQL
- Typescript
- Java
- Bash
Frameworks
- Express
- Angular 1 & 2
- Rails 5
Data analysis
- Data engineering and analysis (Python)
- Data visualisation (plotly, d3.js)
- Webscraping
Development practices
- Agile development
- Test-driven development (Mocha, Karma, RSpec)
What I do
Software Developer, Thoughtworks
Singapore, December 2016 - present
Thoughtworker-in-training :-)
Teaching Assistant, General Assembly
Singapore, August 2016 - December 2016
At General Assembly’s Web Development Immersive course, I assist in training a class of 20 students in becoming full-stack web developers.
Graduate, General Assembly
Singapore, May 2016 - August 2016
Proud graduate of the Web Development Immersive (WDI3)! More details can be found in the About Me page
Assistant Director, Ministry of Trade and Industry
Singapore, August 2013 - May 2016
I have two years of corporate experience in (i) research and economic analysis, (ii) project management, (iii) trade negotiations and (iv) strategic planning.
In my research portfolio, I analyzed trade flows and sectoral economic data to produce policy insights and actionable recommendations.
I also saw through the development and deployment of a Customer Relationship Management (CRM) system for MTI. As the project manager on the business end, I managed the collaboration process with end-users and MTI management to ensure that the system met the needs of business users and provided a streamlined user experience.
I was part of the team which renegotiated the Singapore-Australia Free Trade Agreement and the Korea-Singapore Free Trade Agreement (KSFTA). I also provided support to MTI’s senior management on MTI’s organizational and strategic planning.
Research Intern, International Centre for Trade and Sustainable Development (ICTSD)
Geneva, Switzerland, May 2012 – July 2012
At ICTSD, which is one of the most influential think tanks on international trade, I researched and provided content for wrote for their flagship publication, Bridges Weekly. Some of the topics which I covered include EU carbon emissions regulation, Trans-Pacific Partnership negotiations, FTA negotiations (EU-Central America; China-Japan-Korea), US farm bill, EU CAP reform and WTO disputes.
Publications intern, International Development Systems Inc. (IDS)
Washington DC, USA, June 2011 – August 2011
I drafted weekly trade policy updates arising from developments in Washington DC, Geneva and other relevant countries. I reported on trade issues such as the Trans-Pacific Partnership (TPP) and anti-dumping and countervailing duties (AD/CVD), among other issues.
The List
My reading list (books)
(PDF versions available here)
* - highly recommended
strikethrough - read
Eloquent Javascript by Marijn Haverbeke- Think (X) series (
‘Think Python’, ‘Think Java’, ‘Think Complexity’, ‘Think Stats’, ‘Think Bayes’) by Allen B. Downey - ~~Grokking Algorithms (Aditya Y. Bhargava) ~~
- Clean Code by Robert Martin
- Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides
- Introduction to Algorithms (Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein)
- Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant, William Opdyke, don Roberts
- The Design of Everyday Things by Don Norman
Head First Java (Kathy Sierra and Bert Bates)Test-Driven Development by Example (Kent Beck)
My reading list (online)
Useful materials for anyone new to web programming
My talks (so far)
- How to build a simple web application on Node, Express and Leaflet.js (slides)
The app that hopes to disrupt Singapore’s tuition industry
The Big Idea
The app hopes to:
- make learning math fun and addictive through gamification
- maximise learning by engaging both the left brain (logic and words) and the right brain (imagination and visuals)
- provide unlimited quests and questions on topics covered by PSLE, ‘O’ and ‘N levels’
- provide immediate feedback on what the user knows/doesn’t know
- encourage active learning through guided hints
- reduce teachers’ workload (no marking needed!)
The Stack
- Built with: MongoDB, Express, Angular 1, Node
- Demo: https://learning-ninja.herokuapp.com
- Code (client): https://github.com/davified/tutor-client
- Code (server): https://github.com/davified/tutor-api
Say goodbye to internet junk
The Idea
- Readr is an app that allows people to share and read awesome articles, without the ads.
- By just pasting the url link, the user can read the article in a clean interface, and the app will automatically generate summaries (TL;DRs) and topic tags.
The Stack:
- Built with: MongoDB, Express, Node, JQuery
- Demo: https://flight846.github.io/readr-client
- Code (client): https://github.com/flight846/readr-client
- Code (server): https://github.com/davified/readr
The Idea
- Carparks-SG provides real-time data (updated every minute) on carpark availability in the CBD area. The data is kindly made available by LTA Data Mall.
The Stack
- Built with: Node, Express and Leaflet.js
- Demo: https://carparks-sg.herokuapp.com
- Code: https://github.com/davified/project-3a-clean
The Idea
- Recreating the classic 3310 game with Javascript and a twist
The Stack
- Built with: Vanilla Javascript
- Demo: https://davified.github.io/snake-game
- Code: https://www.github.com/davified/snake-game
The Idea
- The app was designed with one goal in mind: to make volunteering opportunities more accessible to everyone.
- It allows organizations to upload volunteering needs/opportunities, and it allows users to be aware of volunteering opportunities that match their skills.
The Stack
- Built with: Ruby on Rails (Rails 5)
- Demo: https://volunteer-now.herokuapp.com
- Code: https://github.com/davified/volunteer_app
The Idea
- Practicing python with the Panama Papers dataset
- Key findings:
- The top 5 source countries of companies found in the Panama Papers are: British Virgin Islands, Hong Kong, Switzerland, “Not Identified” and Panama. I guess the lawyers and accountants have learnt to hide their trail well. Apart from the clear suspects (BVI, Panama), there is a big chunk which is “Not Identified” - and this makes it quite hard to conclusively identify tax havens.
- Even though Singapore is often touted as a possible tax haven, the figures show that the degree to which it houses companies related to the Panama Papers is much lesser as compared to Hong Kong, Switzerland, British Virgin islands. That said, as a source country, it is ranked 15th (5,867 companies), right after the United States (6,254 companies). As a jurisdiction (destination country), it is ranked 11th (668 companies), right after Nevada (1,260 companies) and Hong Kong (1,331).
The Stack
- Done on Python (pandas and plotly)
- Code: http://bit.ly/2buwv3R