Senior Front-end Developer2017 - PRESENTNutonomy
Technologies: ES6, TypeScript, React (Hooks), Redux, SVG, Redux-observable
- Architected the front-end codebase.
- Worked closely with the designer to implement pixel-level designs.
- SVG zoom in/out, panning, drag and drop, resizing.
- Refactored Drivelogs project with React hooks, redux-observable and safetype-actions.
Senior Front-end Developer2016 - 2017XChangeRate
Technologies: React.js, Redux, TypeScript, Webpack, ES6, Stripe, Bitcoin, WebSockets
- Built the front-end codebase from scratch. Integrated TypeScript, Webpack, Jest, and other tools into the production level.
- Built tens of common control elements with flexible parameters and designs, including buttons, dropdowns, tooltips, tabs, check boxes, and more.
- Integrated bitcoin payment and Stripe for credit card payments.
- Used websockets for real-time cryptocurrency trades.
Front-end Web Developer2016 - 2017European Bioinformatics Institute
Technologies: CSS3, jQuery, Wicket
- Worked for the project European PMC.
Front-end Web Developer2014 - 2016RingCentral XMN
Technologies: AngularJS, React, Sass, Gulp
- Helped to develop a platform to support RingCentral API developers based on AngularJS.
- Built the mobile site from scratch using React.
- Replaced Grunt by Gulp to enhance the front-end automation workflow.
- Developed a bunch of flexible Angular components, including Carousal, Flippable images, Sliders, etc.
- Started and maintained open source project Angular-sui, which integrates AngularJS and Semantic-UI.
Bioinformatics Specialist2012 - 2014Genome Institute of Singapore
Technologies: D3.js, jQuery, Django
- Built the front-end system to draw various and large-scale Bioinformatics data using D3.js.
- Supported diverse Bioinformatics formats, including BED, BAM, Gene, and PSL.
- Supported more flexible parameters to enable users to have more control on the figure plotting, including four plotting modes: full, dense, packed, and squish.
- Designed and implemented partial loading and parallel drawing from multiple sources for the sake of performance.
- Communicated with back-end APIs to retrieve dynamic data.