Shaojiang Cai, WebSockets Developer in Zhangzhou, Fujian, China
Shaojiang Cai

WebSockets Developer in Zhangzhou, Fujian, China

Member since February 24, 2016
Shaojiang is a passionate front-end developer with eight years of professional experience. He excels with JavaScript, especially React and Redux. He has extensive experience in large-scale data visualization (D3.js). His skillset covers React, Redux, TypeScript, ES6, RxJS, D3, Sass, Webpack, and Git. He is also an active StackOverflow reviewer and GitHub user.
Shaojiang is now available for hire




Zhangzhou, Fujian, China



Preferred Environment

Chrome, Git, IntelliJ, Ubuntu

The most amazing...

...application I've built is an online visualization system to draw SVG figures for large-scale bioinformatics data, which is highly customized and dynamic.


  • Senior Front-end Developer

    2017 - 2020
    • Architected the front-end codebase of 3 separate projects.
    • Worked closely with the designer to implement pixel-level designs.
    • Built SVG zoom in/out, panning, drag and drop, and resizing.
    • Refactored the Drivelogs project with React hooks, redux-observable, and safetype-actions.
    • Developed/maintained the nuScenes project from scratch.
    Technologies: Less, Lodash, React Hooks, React, Redux-observable, SVG, Redux, TypeScript, ECMAScript (ES6)
  • Senior Front-end Developer

    2016 - 2017
    • 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.
    Technologies: Less, Lodash, WebSockets, Bitcoin, Stripe, ECMAScript (ES6), Webpack, TypeScript, Redux, React
  • Front-end Web Developer

    2016 - 2017
    European Bioinformatics Institute
    • Worked for the project European PMC.
    Technologies: Lodash, Apache Wicket, jQuery, CSS3
  • Front-end Web Developer

    2014 - 2016
    RingCentral XMN
    • 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.
    Technologies: Lodash, Gulp.js, Sass, React, AngularJS
  • Bioinformatics Specialist

    2012 - 2014
    Genome Institute of Singapore
    • 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.
    Technologies: Lodash, Django, jQuery, D3.js


  • Nuscenes (Development)

    nuScenes is a public large-scale dataset for autonomous driving. It enables researchers to study challenging urban driving situations using the full sensor suite of a real self-driving car.

  • XChangeRate (Development)

    A unified interface to manage your trades across all major exchanges along with powerful metrics to increase profit.

  • DPW (Developers Portal Web) (Development)

    DPW is a web application to support developers of the RingCentral RESTful APIs. It includes public pages, a WordPress-based blog, developers’ dashboard, and administrators’ dashboard. It is based on AngularJS, React, and jQuery.

    I am one of the key front-end developers. I have developed most of the static pages and participated in the development of the dashboards and mobile site.

  • BASIC (Browser for Applications in Sequencing and Integrated Comparisons) (Development)

    BASIC is an integrated system to efficiently store, process, and visualize large columns of next-generation sequencing (NGS) data. It provides real-time storage and visualization of large-scale bioinformatics data.

    I was the sole developer of the BASIC front end. I designed and implemented the powerful and flexible data visualization feature using D3.js.

  • Hot Module Replacement in Redux (Publication)
    Hot module replacement is one of the most useful features offered by Webpack. It allows all kinds of modules, including JSON, CSS, and JS files, to be updated at runtime without needing a full refresh. In this article, Toptal Freelance JavaScript Developer Shaojiang Cai demonstrates how to use Hot Module Replacement in Redux.


  • Languages

    ECMAScript (ES6), Less, CSS3, HTML5, JavaScript, TypeScript, Sass
  • Frameworks

    Material-UI, Redux, Bootstrap, Laravel, AngularJS, Django, Apache Wicket, Chrome
  • Libraries/APIs

    React, Lodash, Redux Observable, jQuery, Node.js, D3.js, Stripe
  • Tools

    Webpack, Git, IntelliJ, Mercurial, Gulp.js
  • Paradigms

  • Other

    Chrome Extensions, Redux-observable, Front-end Development, Software Development, SVG, React Hooks, Bitcoin, WebSockets
  • Platforms



  • Master of Science degree in Bioinformatics
    2008 - 2011
    National University of Singapore - Singapore
  • Bachelor of Engineering degree in Information Systems
    2004 - 2008
    Renmin University of China - Beijing, China

To view more profiles

Join Toptal
Share it with others