Verified Expert in Engineering
Since 2013, Zhexuan has been developing both the front-end and back-end of applications. He's worked on the Microsoft Dynamics team delivering massive features across multiple versions of Microsoft Dynamics. He has a thorough knowledge of different front-end and back-end frameworks, test-driven development, and CI/CD. He also develops hybrid apps and has academic and project experience with machine learning.
Ubuntu, CentOS, Linux, MacOS, Visual Studio Code (VS Code), GitLab, GitHub
The most amazing...
...thing I’ve developed were the (Meshkit.com) Mesh product lines which are projects across different areas—empowering drone users with a whole solution.
Partner | Tech Lead
- Delivered and deployed stable back-end projects handling the business logic, data syncing, and socket communication across mainland China and overseas servers (on both Aliyun and AWS); used Docker, Node.js, and TypeScript.
- Created a test-driven development workflow and CI/CD process for the entire back-end of the project.
- Delivered a 3D modeling service by using OpenDroneMap and a Panorama Stitcher service in order to process images collected via our products. It was developed by Python.
- Integrated with Altizure SDK by using GraphQL.
- Delivered the official website for our company using Next.js, and deployed it using Docker.
- Delivered a cross-platform desktop application (i.e., the Mesh Desktop) for our company, using Electron, Vue.js, Webpack, and finished the unit test as well as E2E test.
- Delivered a WebView-handling user account and privilege management using Vue.js and Webpack.
- Delivered a WeChat mini app, a UGC platform that could query and mark a no-flight zone status in mainland China.
- Delivered admin portals for several back-end projects by using Django.
- Participated in delivering the mobile application Mesh (available in Chinese App store), which contains views that are built by a light-weighted ReactNative (developed by ourselves, as mentioned in the above experience).
SDE II (Software Development Engineer II)
- Continued working on an OfficeGroup integration with a CRM and delivered OfficeGroup's solution v1.0, v2.0, and v2.5 in Microsoft CRM.
- Acted as the owner and leader of the solution since v2.0, and handed it to vendor team after v2.5. It also became one of the most popular solutions on the CRM platform.
- Was "borrowed" by another team to work on Project TBX, a plugin on the Microsoft CRM and guarded the project till its GA.
- Contributed to the development of Unified Client for CRM, which is aiming at the OneCRM Solution and it will become the CRM unified client across different platforms and devices. This is a big milestone and refactored the entire CRM product line, and I have participated in this project since the very beginning.
- Shared knowledge with colleagues about React, TypeScript, and CSS as well as back-end development with C# and Node.js.
- Took charge of the localization and accessibility features of several projects.
- Communicated with vendors and tracked their progress and testing outcomes against an OfficeGroup integration with the CRM.
Summer Intern for the Microsoft Dynamic Office Group App
- Built a file management system for OfficeGroup integration in a CRM.
- Joined the brainstorming, designing, and prototyping sessions with the PMs for the OfficeGroup integration.
- Designed and worked on CI/CD and tested the entire project.
- Implemented functionalities and fixed bugs in the back-end endpoints using .NET.
- Participated in the entire package and deployment workflow using Webpack and Rollup.
- Wrote helper scripts for project development and tested using Bash and Python.
- Delivered the documentation and several blog articles for internal usage.
Summer Intern for the Microsoft Dynamic Web App
- Worked on a Windows 8 application that would help project managers to manage projects. It shows the hierarchical tree structure of tasks in a project, along with timelines for each task in a Gantt chart view.
- Wrapped up the environment of Microsoft Dynamics AX and its business logic.
- Created a system design before coding it which ensured that my code was clean, maintainable, extendible, and reusable.
- Applied MVVM patterns by using Knockout.js in the front-end development.
- Contributed to a certain back-end endpoint design and implementation; gained practical experience with SQL and C#.
Office Group Integration | Microsofthttps://docs.microsoft.com/en-us/dynamics365/customer-engagement/basics/collaborate-with-colleagues-using-office-365-groups
This is a project which migrated the Office Group service from SharePoint and also integrated it with the Microsoft Dynamic CRM.
It is a classic single-page application (SPA) that uses TypeScript, Knockout.js, and LESS. It allows CRM users to create, join, and manage their own group as well as Office resources (documents, sheets, emails, conversations, and more) in the group. This is the project is one of the crucial projects for the One Microsoft strategy as it offers users the one-stop experience in Microsoft Dynamics.
For the back end, it uses C# and .NET to migrate the back-end endpoints and APIs from SharePoint and uses the One Microsoft's OAuth portal to handle account registration and management.
I was the core developer of version 1.0 of this project and owner of version 2.0 and version 2.5 of this project. I also took charge of the implementation of the accessibility and localization for the entire project.
B.B.E. Official Website
In this project, I set up and bootstrapped a project, determined the tech stack to be used, designed the project architecture, handled the development and deployment, and wrote detailed documentation.
During the entire engagement, I communicated with my client every day to sync my progress as well as asking questions in the early stages.
Fliteboard Official Website | B.B.E. (via Toptal)
In this project, I made full commitments in setting up and bootstrapping the project, determining the tech stack to be used, designing the project architecture, development, deployment, and detailed documentation.
This project involved migrating their old website (Fliteboard.com) which was written in WordPress and PHP to Nuxt.js and to remain exactly the same. In other words, my responsibility was to rewrite the website by Nuxt.js, and make the website data-driven so that they could easily plug it with their CMS back-end.
Mesh App (iOS, Available in Chinese App Store)
1. Create a flight mission and plan flight routes for DJI drones.
2. Invite other users to join a mission and share real-time images as well as drone operations.
3. Develop functional packages for customers from different industries.
The application consists of two parts:
1. Native application to handle user login, account management, and mission creation.
2. Inside a mission, views are built with a lightweight React Native-like framework (i.e., the envoy framework we built and mentioned in my portfolio).
One could log-in into the application to play around with the following credentials.
Unified Client Interface | Microsofthttps://blogs.msdn.microsoft.com/crm/2018/04/11/unified-interface-overview/
The project is a model-driven app and it was built using TypeScript and React together with many useful libraries such as Moment.js and so on.
Starting from the very first stage, I participated in the design of the app state and most of the controls such as the grid, dialog, dropdown, sidebar, navbar, breadcrumb, forms, timeline, search, tab, and more.
After the designing and prototyping stage, I participated in the implementation (both the CSS and React) of the whole project—owning the dashboard page, dialogs, and activity pages as well as the controls inside these pages. Moreover, I worked with the team to deliver on the accessibility and localizations for the pages I owned. Additionally, I also helped with back-end portal implementation using C# and .NET.
Task Based Experience (TBX) | Microsoft
In this project, I participated in the implementation of the task flow process, the card control, and the form control as well as the accessibility feature. The back-end portal for this project was already fully supported so we are mainly working on this project for the client-side using C# and .NET.
The project is an application based on the famous electron library, together with Vue.js and TypeScript. I designed the whole architecture of this application and implemented it from scratch, including all of the controls, pages, state management, file system, interaction with the back-end (and related back-end APIs as well), localization, Webpack packing, and deployment.
It supports both Windows and macOS and is structured well and commented.
Mesh Official Websitehttps://meshkit.cn
Now this project is running in production serving our company (Kiwi, Inc.) to introduce our products and our teams to hundreds of enterprise clients in mainland China and several in South America.
Inside this project, I applied my React knowledge and experience to structure the project architecture and used Qiniu (Qiniu.com) as a CDN service for any static resources. In addition to the built-in Webpack configuration supported by Next.js, I added customized PostCSS rules and JSX rules for better development experience. Now the project is using the latest Next.js framework which I just migrated from v2.0+ in October 2018. Moreover, this project is already localized for both English and simplified Chinese, and it is highly maintainable.
Currently, this project is deployed on the Aliyun server.
Drone Flight Route Plannerhttps://github.com/oozliuoo/drone-route-planning-demo
Inside this demo, I used the Gaode Map API for demonstration and display purposes.
In this project, it will accept an array of vertices representing any polygon and outputs a series of vertices representing the ordered route for a proper drone flight covering the whole polygon area.
In this project, I applied an algorithm and geometrical knowledge to calculate the dot product/cross product of two vectors, the vector intersection, to check whether a point is inside a polygon, to count intersections between a vector and a polygon, and to obtain the type of polygon. Moreover, I used the A* algorithm to find the optimal path between two points inside the polygon so that the path will not step outside of the polygon.
The output of this demo is now used in our production Mesh application and serving our clients in the architectural industry.
This development tool contains Webpack configuration for projects developed with Vue.js and TypeScript in different environments. It allows users passing in global environment variables that could be used in the web project.
This development tool is a CLI tool which enables a user performing expected actions by passing inappropriate parameters (user could type -h) for help. It also supports deployment and Slack notifications. Once the project is built, a user could fork the project and update the server and Slack token for customization.
This project applies the logic of several front-end frameworks such as Virtual DOM, change detection, and so on. It also defines the lifecycle of a typical envoy component.
It utilizes the popular library snabbdom to handle the virtual DOM and change detection and also implements a change queue to allow the registering, monitoring, and management of changes. Additionally, it provides an event manager which includes an event emitter, allowing custom-event forwarding and receiving across different devices (e.g., iOS devices).
React, Vuex, Vue 2, Vue, Node.js, Chai, REST APIs, RxJS, NumPy, SciPy, Pandas, MobX, Snabbdom, Reselect
Git, Vue CLI, Mocha, PostCSS, Docker Compose, Webpack, Makefile, Celery, Babel, GitHub, GitLab, Amazon Elastic Container Service (Amazon ECS), AWS CLI, NPM, Rollup, Microsoft Dynamics AX
Model View Viewmodel (MVVM), Functional Programming, Declarative Programming, Continuous Integration (CI), Continuous Delivery (CD)
Docker, Amazon Web Services (AWS), Anaconda, Amazon EC2, MacOS, Linux, CentOS, Ubuntu, Android, Visual Studio Code (VS Code)
MySQL, Couchbase, Couchbase Lite, MongoDB
Responsive Design, APIs, Front-end, Vue-router, WeChat Mini Programs, Front-end Development, Software Development, OAuth, Cordova
Master's Degree in Computer Science and Artificial Intelligence
Georgia Institute of Technology - Atlanta, GA, USA
Bachelor's Degree in Computer Engineering and Computer Science
University of Wisconsin-Madison - Madison, WI, USA