Senior Front-end Developer2017 - 2018SplashMining
Technologies: ES6, TypeScript, Redux, Axios, Rechart, Webpack
- Architected the front-end codebase.
- Developed tens of common control elements, like buttons, dropdowns, and text fields.
- Worked closely with the designer to implement pixel-level designs.
- Integrated Stripe for credit card payment.
- Plotted SVG diagrams on the user dashboard.
Senior Front-end Developer2016 - 2017XChangeRate
Technologies: React.js, Redux, TypeScript, Webpack, ES6, Stripe, Bitcoin, Web Sockets
- 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 web sockets 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.js, Sass, Gulp
- Helped to develop a platform to support RingCentral API developers based on AngularJS.
- Built the mobile site from scratch using React.js.
- 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.