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. His skill set covers React, Redux, TypeScript, React Hooks, Next.js, Gatsby, Saga, and Git. He is also an active StackOverflow reviewer and GitHub user.
Shaojiang is now available for hire


  • ArrAy
    CSS3, HTML5
  • Aptiv
    Front-end, Freelance Developer, Less, Lodash, React Hooks, React...
  • XChangeRate
    Front-end, Freelance Developer, Less, Lodash, WebSockets, Bitcoin, Stripe...



Zhangzhou, Fujian, China



Preferred Environment

Terminal, Chrome, Git, IntelliJ, Ubuntu

The most amazing...

...application I've built is an online visualization system to handle large-scale autonomous annotation data in native SVG API and Redux.


  • HTML/CSS Team Lead

    2020 - PRESENT
    • Led the HTML/CSS development team with three team members. Communicated with designers, the product manager, and other developers to manage the HTML page development.
    • Developed in Next.js consisting of tens of pages with great responsiveness.
    • Developed hundreds of pixel-level HTML pages with pure CSS for further processing: Responsiveness is greatly supported. Designed a theming mechanism to allow easy application of seven themes.
    Technologies: CSS3, HTML5
  • Senior Front-end Developer

    2017 - 2020
    • Architected the front-end codebase of three separate projects.
    • Collaborated with a 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 and maintained the nuScenes project from scratch.
    Technologies: Front-end, Freelance Developer, 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: Front-end, Freelance Developer, 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: Front-end, Freelance Developer, 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: Front-end, Freelance Developer, 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: Front-end, Freelance Developer, Lodash, Django, jQuery, D3.js


  • Array

    Array seamlessly integrates consumer credit, identity and background data into your user experience and marketing funnels. It easily and securely gives your users personalized credit and financial data. Create a more engaging experience they’ll love.

  • eosfinex

    eosfinex is the most liquid non-custodial cryptocurrency exchange. Securely trade BTC, EOS, USDT, and other popular digital assets directly from any EOS wallet. Bitfinex liquidity and advanced trading technologies, EOSIO decentralized security, and custody.

  • Bitfinex Staking

    Bitfinex is the largest and most advanced cryptocurrency exchange. This is a single-page application to host some information about Bitfinex staking policy.
    I architected it and built it from scratch.

  • Nuscenes

    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. AWS Cognito and S3 file management are integrated for user and data management.

  • DPW (Developers Portal Web)

    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)

    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

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

    Material-UI, Redux, Bootstrap, Next.js
  • Libraries/APIs

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

    Webpack, Git, IntelliJ, Terminal
  • Paradigms

  • Other

    Chrome Extensions, Redux-observable, Front-end Development, i18n, SVG, React Hooks, Bitcoin, WebSockets, Sagas, CSS3 Animation
  • Platforms

    Contentful, Ubuntu


  • 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