Shaojiang Cai
Verified Expert in Engineering
Front-end Developer
Shaojiang is a passionate front-end developer with ten 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.
Portfolio
Experience
Availability
Preferred Environment
Chrome, IntelliJ IDEA, Ubuntu, MacOS, React, TypeScript, Next.js, GitHub, Jira, Figma
The most amazing...
...application I've built is a wildfire management system to monitor hundreds of cameras in real time, providing features including map, panorama, player, etc.
Work Experience
Lead Front-end Developer
Pano
- Acted as the sole front-end developer for the wildfire management system Pano AI 360 https://360.pano.ai. The system connects to cameras, captures millions of real-time images, and trains AI models to detect and manage wildfires.
- Architected Pano AI 360 in React. Set up the fundamental features, including routing, SEO, responsiveness, unit test, e2e test, logging, tracking, API data management, linting, typing, coding standard, performance monitoring, documentation, and more.
- Developed most features of Pano AI 360, including map, panorama, canvas player, incident management, optical zoom, multi-factor authentication, form management, triangulation, permission control, etc.
- Developed a highly customized panorama player in native HTML5 canvas. Users can concatenate camera images to view panoramas, pan images, zoom in/out, mark fires, resize, play frames with various time lapses, sync bearing, and support optical zoom.
- Utilized Mapbox GL to support customized features, including showing station/incident icons, location search, various popups, flexible map layers, etc.
- Performed extensive research on performance improvements. The system handles millions of images and thousands of incidents/stations. Did performance benchmarking on Recoil, Mobx, Redux, and useContext. Utilized strategies to improve performance.
- Wrote well-organized documentation. Migrated the codebase to TypeScript. Refactored for better data management. Delivered hundreds of unit test cases.
HTML/CSS Team Lead
Array
- Led the HTML/CSS development team with five team members. Communicated with designers, the product manager, and other developers to manage the HTML page development.
- Developed the site https://array.com in Next.js, consisting of tens of pages with great responsiveness.
- Architected hundreds of pixel-level HTML pages https://html.dev.credmo.com with pure CSS for further processing. Responsiveness was greatly supported. Designed a theming mechanism to apply 30+ themes easily.
- Refactored an existing HTML/CSS solution to Svelte; also worked on a great set of Svelte components as UI elements.
Senior Front-end Developer
Bitfinex
- Acted as the core front-end developer on Bitfinex's main portal: https://www.bitfinex.com. It's a top cryptocurrency exchange in the world.
- Became a main contributor to Bitfinex Security (https://setting.bitfinex.com/security), eosfinex (https://www.bitfinex.com/posts/616), and Bitfinex Staking (https://staking.bitfinex.com/).
- Used the following technologies: React, Redux, Saga, WebSocket, Gatsby, Next.js, and many more.
Senior Front-end Developer
Aptiv
- Architected the front-end codebase of three separate projects.
- Collaborated with a designer to implement pixel-level designs.
- Built the SVG features, including zooming in and out, panning, drag and drop, and resizing.
- Refactored the Drive Logs project with React hooks, redux-observable, and typesafe-actions.
- Developed and maintained the nuScenes project from scratch: https://nuscenes.org.
Senior Front-end Developer
XChangeRate
- Built the front-end codebase from scratch. Integrated TypeScript, Webpack, Jest, and other tools into production.
- Built tens of common control elements with flexible parameters and designs, including buttons, dropdowns, tooltips, tabs, and checkboxes.
- Integrated Bitcoin payment and Stripe for credit card payments.
- Used WebSockets for real-time cryptocurrency trades.
Front-end Web Developer
European Bioinformatics Institute
- Worked on the project Europe PMC: https://europepmc.org.
- Developed the front end for Europe PMC to serve millions of scientists.
- Improved the performance of Europe PMC via benchmarking and tracking.
Front-end Web Developer
RingCentral XMN
- Helped to develop a platform to support RingCentral API developers based on AngularJS: https://developers.ringcentral.com/.
- Built the mobile site from scratch in React and Gulp.
- Replaced Grunt by Gulp to enhance the front-end automation workflow.
- Developed many flexible Angular components, including Carousal, Flippable images, Sliders, etc.
- Started and maintained open source project Angular-sui, which integrates AngularJS and Semantic-UI.
Bioinformatics Specialist
Genome Institute of Singapore
- Built the front-end system to draw various and large-scale Bioinformatics data using D3.js.
- Provided support for diverse Bioinformatics formats, including BED, BAM, Gene, and PSL.
- Supported more flexible parameters to give users more control over 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.
Experience
Pano AI 360
https://360.pano.aiThe front-end features include a map, panorama, canvas player, incident management, optical zoom, multi-factor authentication, form management, triangulation, permission control, and many more.
Array
https://array.comBitfinex
https://www.bitfinex.com/Bitfinex Staking
https://staking.bitfinex.com/Nuscenes
https://www.nuscenes.org/DPW (Developers Portal Web)
https://developers.ringcentral.com/I am one of the key front-end developers. I have developed most of the static pages and participated in developing the dashboards and mobile site.
BASIC | Browser for Applications in Sequencing and Integrated Comparisons
I was the sole developer of the BASIC front end. I designed and implemented the powerful and flexible data visualization feature using D3.js.
Skills
Languages
CSS, HTML, ECMAScript (ES6), TypeScript, Less, CSS3, HTML5, JavaScript, Sass, GraphQL, Python, Markdown, Java
Frameworks
Next.js, Material UI, Redux, Bootstrap, Tailwind CSS, Jest, Svelte, Cypress, AngularJS
Libraries/APIs
React, Lodash, jQuery, REST APIs, React Redux, Node.js, D3.js, Chart.js, MobX, Formik, React Testing Library, Mapbox GL, Stripe, Yup, Mapbox API, Highcharts, jQuery UI
Tools
Webpack, Git, Canvas, Google Analytics, IntelliJ IDEA, GitHub, Jira, Figma, Sentry, TortoiseGit, Gulp, Grunt, Zeplin, Amazon Cognito
Paradigms
REST, Modular CSS, Search Engine Optimization (SEO), Responsive, Test-driven Development (TDD)
Other
Redux-observable, React Hooks, Front-end Development, Single-page Applications (SPA), Front-end, Responsive Design, React Query, Responsive UI, Axios, ESLint, Google Analytics 4, UI Development, Responsiveness, i18n, SVG, Storybook, Data Visualization, Recoil, Bitcoin, WebSockets, Sagas, CSS3 Animation, Gatsby, Styled-components, Themes, Google Tag Manager, Audio, React Hook Forms, Hackathons, ECharts, Amazon Cognito User Pools, Docsify
Platforms
Contentful, Mapbox, Amazon Web Services (AWS), MacOS, Mixpanel
Storage
Amazon S3 (AWS S3)
Education
Master of Science Degree in Bioinformatics
National University of Singapore - Singapore
Bachelor of Engineering Degree in Information Systems
Renmin University of China - Beijing, China
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring