Li Chen, Developer in Singapore, Singapore
Li is available for hire
Hire Li

Li Chen

Verified Expert  in Engineering

Full-stack Developer

Location
Singapore, Singapore
Toptal Member Since
November 21, 2022

Li is a skilled full-stack developer with expertise in Clojure, ClojureScript, Java, Python, Rust, and Go. He has built web apps for education, IoT, and blockchain industries. Currently, Li focuses on blockchain security auditing and application development, utilizing his proficiency in multiple programming languages to deliver robust solutions. His track record of delivering exceptional outcomes underscores his commitment to high-quality solutions.

Portfolio

Singapore Blockchain Innovation Programme
Rust, Python 3, Go, RabbitMQ, Caching, Microservices, Docker, JavaScript, React
Make Studios
Vue, Digital Art, Clojure, Electronic Sensors, MQTT, UDP, JavaScript, Python...
Freelance Client
Clojure, ClojureScript, Amazon Web Services (AWS), Datomic, Python 3, Fulcro...

Experience

Availability

Part-time

Preferred Environment

Arch Linux, Emacs

The most amazing...

...I've developed a widely-used healthcare application for smart-home IoT products that has garnered millions of users worldwide.

Work Experience

Blockchain Engineer

2022 - PRESENT
Singapore Blockchain Innovation Programme
  • Developed a full-stack fuzzing tool web app using a monorepo for efficient local development and CI, integrating multi-language services with microservices, message queues, and caching for enhanced performance.
  • Implemented instrumentation for open-source EVM (Ethereum Virtual Machine) implementation, capturing signals for bug detection.
  • Utilized the Hardhat framework to create proof-of-concept hacks and evaluate smart contract security.
  • Developed a Python library for flattening Ethereum smart contracts, improving readability and reducing complexity.
  • Built Rust and Go libraries for seamless interaction with Web3 blockchain (transaction, account, storage analysis, and more).
  • Created Python scripts for crawling Web3 smart contract source code, metadata, transactions.
  • Devised and developed a Rust-based native Python library, enabling rapid execution of smart contracts in Python (2,000-20,000 transactions/second).
  • Built a source code mapping library, enabling easier navigation and analysis of the program counter in smart contracts.
  • Developed the front end of the fuzzing web application using React.
Technologies: Rust, Python 3, Go, RabbitMQ, Caching, Microservices, Docker, JavaScript, React

Creative Software Developer

2021 - 2022
Make Studios
  • Developed a full-stack web application using Go and JavaScript (Vue) for monitoring and controlling Windows and Linux PCs, sensors, LEDs, and embedded devices.
  • Created a gallery back-end system for user authentication, statistics tracking, and sensor data collection and analysis.
  • Programmed IoT sensors on ESP and Raspberry Pi, including fingerprint, touch, vibration, programmable LEDs, thermal imaging, IR (for presence detection), mmWave radar (for breath rate detection), and LiDAR (for real-time precise location detection).
  • Wrote cross-platform daemon applications in Go and Python for each kiosk PC, sending sensor data to the gallery back-end or receiving control commands.
  • Developed interactive digital art products using JavaScript, featuring rich animations, touch screens, and a variety of sensors.
  • Implemented a facial recognition system for user authentication, utilizing a locally deployed AI system.
  • Trained and built a fingerprint classifier with TensorFlow and OpenCV.
  • Improved a low-cost fingerprint scanner from China by re-engineering the USB commands, leading to a significant increase in its scanning area.
  • Constructed Node-RED applications to facilitate experimentation and product prototyping.
Technologies: Vue, Digital Art, Clojure, Electronic Sensors, MQTT, UDP, JavaScript, Python, Go, Redis, Docker, ESP32, ESP8266, Arduino, Node-RED

Clojure and ClojureScript Developer

2018 - 2021
Freelance Client
  • Developed a full-stack application utilizing the Fulcro framework, while addressing bugs and ensuring seamless performance.
  • Migrated projects to a monorepo with Polylith for better code reusability and modularization.
  • Created a library for monitoring target function performance without modifying target source code.
  • Enhanced the functionality of re-framed web applications and resolved issues.
  • Developed deployment scripts for streamlined testing, deployment, and CI automation tagging for Datomic cloud applications.
  • Utilized AWS services such as Event, Transcribe, and CloudWatch to bolster the user video and audio learning experience in a Clojure-based full-stack application.
  • Boosted system performance by identifying and refining inefficient Datomic queries.
  • Analyzed undocumented libraries through decompilation and intermediate code examination.
  • Designed a flexible automated email component featuring customizable HTML templates and different senders.
  • Addressed performance bottlenecks in Clojure-based machine learning code.
Technologies: Clojure, ClojureScript, Amazon Web Services (AWS), Datomic, Python 3, Fulcro, Re-frame, Redis, AWS CLI

Co-founder and Software Architect

2017 - 2020
Emartech
  • Created a smart agriculture web application enabling clients to remotely control irrigation and ventilation systems, schedule operations, and monitor real-time sensor data such as temperature, humidity, and illumination.
  • Collaborated with a renowned education company to develop an educational robot, implementing the API for IDE, the front end, and sample user programs for robot interaction.
  • Developed both back-end and front-end components for a multi-cryptocurrency hardware wallet compatible with any device featuring a browser and USB access.
  • Developed a variety of demo Android and iOS applications with Flutter to exhibit our IoT products to clients.
  • Developed an RFID inventory monitoring application for Android using PhoneGap and ClojureScript.
  • Designed full-stack web applications using Go and Vue.js, featuring article publishing and feedback collection capabilities.
  • Implemented the Ukeep Wallet web application in ClojureScript, interacting with Web3 and WebUSB to the hardware wallet.
  • Created Python scripts to gather sensor data and assess IoT chips on PCs, facilitating the development of prototype products.
  • Built web applications with cross-platform compatibility, supporting WeChat, PC, and mobile browsers using ClojureScript and responsive design principles and integrating the popular payment APIs, such as WeChat Pay, Alipay, UnionPay, and Paypal.
  • Created a variety of applications for embedded devices, such as SMS relay and remote control systems, utilizing technologies like PlatformIO and OpenLuat.
Technologies: Clojure, ClojureScript, Payment APIs, Bitcore, Ethereum, Java, MariaDB, Redis, Go, Sass, Arduino, PlatformIO, Lua, Python, OpenLuat

Senior Software Engineer

2014 - 2017
Chipsea
  • Developed a SaaS web application platform utilized by all our enterprise clients.
  • Engineered the back-end API for our smart home application, with millions of daily active users globally.
  • Refactored a PHP-based management web application using Clojure and Java, enhancing overall performance, reducing bugs, and facilitating easier feature additions.
  • Optimized resource-intensive SQL queries to improve API response times.
  • Designed an efficient database structure to accommodate new features and boost performance.
  • Integrated WebSocket support into the Clojure back-end for server-side message pushing.
  • Implemented MQTT over WebSocket on the front-end to enable message broker functionality.
  • Developed a Mosquitto authentication plugin in Clojure.
  • Utilized nginx-clojure for deploying lightweight web applications crafted in Clojure.
  • Implemented a unified payment API, offering compatibility with WeChat, Alipay, and UnionPay.
Technologies: Clojure, ClojureScript, NGINX, Redis, Redmine, MySQL, Java, MQTT, Alibaba Cloud, Alipay, WeChat Pay

Software Engineer

2013 - 2014
Vita-course Co.
  • Developed a Java and Clojure web application to facilitate relationship authorization and management for doctors, patients, and guardians.
  • Developed API support for instant text and voice chat for mobile phones.
  • Implemented real-time medical data collection and analysis capabilities through the XMPP protocol.
  • Employed various techniques, such as caching and optimized SQL queries, to enhance API performance.
  • Improved Openfire server integration with our back end to support user systems and address performance issues with Android clients.
  • Built a ClojureScript-based management web application for hospitals to oversee patient and doctor data.
  • Designed and implemented a healthcare system database using MySQL and Redis.
  • Authored Swagger API documentation to for mobile application developers and enterprise clients.
  • Actively participated in product design meetings to discuss and plan new features.
  • Deployed Redmine for bug tracking and utilized Jenkins for CI automation on our server.
Technologies: Java, Clojure, Redis, MySQL, NGINX, Openfire, Alibaba Cloud, XMPP, Redmine

Software Engineer

2009 - 2012
Chenfu Co., Ltd
  • Maintained and incorporated multi-tenant functionality into a high-performance P2P trading module, enabling the system to handle thousands of transactions per second efficiently.
  • Enhanced modules for load balancing, ensuring even distribution of tasks across the system.
  • Resolved rare concurrency bugs within the system by analyzing call stacks and stack dumps.
  • Fine-tuned JVM parameters to reduce garbage collection time and provide error logs for troubleshooting.
  • Developed components utilizing Spring framework, MyBatis, and ICE RPC framework.
  • Employed caching techniques at both the program (Java) and database (H2 TimesTen and Memcached) levels to optimize performance.
  • Collaborated on the redesign of a large-scale distributed system to minimize latency across global regions.
  • Utilized the ActiveMQ message broker in Java for efficient message queueing and task distribution.
Technologies: Java, Linux, Oracle, ICE, Memcached, ActiveMQ, H2

Online Learning Platform

An AI-powered online learning web application that features a user-centric learning portal and a content management system, both hosted on AWS CloudFormation.

As a full-stack developer, my responsibilities included implementing new features using Clojure and ClojureScript, addressing bugs, and optimizing performance.

Ukeep Wallet

The project involves a cold storage crypto wallet designed with encrypted hardware. The accompanying web application enables users to initialize or unlock the wallet, view transaction history, execute transactions, and exchange between various cryptocurrencies, with any sensitive operations protected by requiring physical interaction on the device. I am the main developer, and the web application was developed using Clojure and ClojureScript.

The back end handles transaction broadcasting, performs interactions with third-party APIs, handles payments, and carries out validation on local blockchain nodes and user-obfuscated data storage.

Communication between the front end and back end occurs through REST API and WebSockets. The application features integration with payment channels such as Alipay and PayPal.

Additionally, the front end interacts with the hardware wallet through WebUSB technology.

Chipsea SaaS Platform

The Chipsea platform empowers clients, who are manufacturers or distributors, with the ability to manage licenses, release mobile applications, create and publish new posts within their mobile apps, organize events or launch promotions, and review user statistics and automated email communications. This comprehensive tool streamlines various tasks, making it an essential resource for Chipsea clients.

I am responsible for the database and the multi-module back end, as well as the CMS front-end development. In this project, I used Clojure on JVM, MySQL, Redis, and MQTT in the back end and Clojurescript in the front end. ELK is integrated into the platform to collect logs and provide valuable business insights. Thrift RPC protocol is integrated among the back-end modules, allowing inter-module interaction.

Smart Agriculture App

This web app is designed for use inside WeChat (as a WeChat mini program) or on normal browsers. It enables remote monitoring of sensors through various protocols, data aggregation, and user control over irrigation and ventilation systems. Additionally, users can configure WiFi through WeChat and create plans to automate these operations based on a set of custom-defined rules, offering a seamless and efficient experience.

Educational Robot on Rockchip

The robot is built on Rockchip 3288. It supports multiple motors and sensors, utilizing standard connectors; it also has hotplug capabilities.

I developed the daemon using Rust and the robot's UI with Electron and ClojureScript. The daemon interacts with the driver, handles Bluetooth controller events, controls motors and sensors and collects sensor data, manages and executes user applications (usually written in Python), provides WebSocket or UDP interfaces for the robot's front end, and exposes REST and Websocket APIs for the IDE, which typically runs on a PC. Additionally, I created several demo user applications in Python to showcase the robot's capabilities.

Smart Nation Playscape

https://www.science.edu.sg/whats-on/exhibitions/smart-nation-playscape
The exhibition features numerous technology zones and dozens of interactive digital art kiosks.

I developed the back end and management website for the gallery, along with several front-end applications. Additionally, I was responsible for programming most of the sensors involved in the interactive exhibits.

uThermo | Temperature Sensor App

The project involves a cross-platform mobile app designed for use with a USB-powered Bluetooth thermometer. The app offers temperature calibration, measurement, firmware updates, and access to historical data. Additionally, a web app is available for logged-in users to view relevant statistics and analytics.

P2P Trading Platform

The platform enables users to trade a variety of items, including both physical and virtual goods. As part of the development team, I maintained and added new features to a component offering APIs for enterprise clients. This component processes trading requests and supplies real-time market information. I also implemented cache and queue layers to ensure only valid trade requests reach the matching system.

Healthcare Monitor System

A healthcare monitoring web app that tracks sensor data, including blood pressure, heart rate, SpO2, and more, from our healthcare smartwatch and tablets. The app manages users, detects abnormal health conditions based on sensor data, and sends notifications to authorized guardians. My contributions included building the database and back end that provide REST APIs to mobile apps, customizing the Openfire instant messaging system to suit our use cases, and creating another web app tailored for the hospital to manage the doctors and patients.

Smart Contract Auditing Tool

A fuzzing tool for identifying bugs in EVM-based smart contracts. My contributions included adding instrumentation to the open-source EVM implementation, which enabled the fuzzing tool to capture essential signals for bug detection. Furthermore, I created flattening, parsing, and binary-to-source mapping tools using Python to enhance the tool's functionality.

In addition, I built a web app that enables users to upload, edit, and analyze smart contracts.

Languages

Clojure, Rust, Python 3, Java, Go, Sass, Python, C++, JavaScript, Lua

Frameworks

ClojureScript, Apache Thrift, Flutter, Re-frame

Tools

Emacs, NGINX, Redmine, MQTT, WeChat, ActiveMQ, ELK (Elastic Stack), RabbitMQ, AWS CLI, Node-RED, Amazon Simple Queue Service (SQS)

Platforms

Arch Linux, Amazon Web Services (AWS), Bitcore, Ethereum, Linux, Oracle, Alipay, Raspberry Pi, JVM, Docker, Arduino

Other

Datomic, Payment APIs, ICE, Digital Art, Electronic Sensors, UDP, ESP32, Transmission Control Protocol (TCP), Mobile Apps, Openfire, XMPP, Smart Contracts, Machine Learning, Caching, ESP8266, Fulcro, PlatformIO, OpenLuat, WeChat Pay, Bitcoin, WeChat Mini Programs, WebSockets

Libraries/APIs

Vue, TensorFlow, React

Paradigms

Microservices

Storage

Redis, MySQL, MariaDB, Alibaba Cloud, H2, Memcached

2003 - 2007

Bachelor's Degree in Physics

National University of Singapore - Singapore

MARCH 2022 - PRESENT

Smart Contracts

Coursera

APRIL 2018 - PRESENT

Deep Learning

Coursera

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring