Sean Lee

Sean Lee

李瑋倫 / Weilun Lee

Personal Profile

  • WebGL Rendering Research Demo, my personal passion projects.
  • Front-End Engineer with Webapp experience in React/Typescript/Electron/Webpack/SVG/WebGL/Pixi
  • Demonstrated proficiency in crafting comprehensive design documents to effectively communicate and document solutions
  • Highly participation of review process and testing codes.
  • Project planning and task break-down - from chaos to clarity
  • Joining a massive code base project. e.g., Firefox Browser, FxOS, and Canva
  • Being a leader for the task assignment and mentoring team members - MiTAC

Job History

Software Engineer, Canva Inc.

October 2019 - present (1yr 6m+)

Web and Electron App Developer in Electron/Typescript/Protobuf/React

Senior Software Engineer, Phase.

August 2018 - September 2019 (1yr 1m)

Web-based Designer Tools developement in React/Redux/SVG/WebGL/Pixi

Senior Software Engineer, Mozilla.

Oct 2014 - Jan 2018 (3yr 3m)

Firefox Browser, Gaia of Firefox OS, Web app development

Senior Software Engineer, Symbio Inc.

Jul 2012 - September 2014 (2yr 2m)

Develop the front-end of PaaS and SaaS with Javascript/HTML/Java

Software Engineer, MiTAC Inc.

Apr 2009 - Apr 2012 (3 yr)

Develop Embedded Linux POS, Diagnostic System in QT/C/C++

Web Experience

Offline Experience Development / Canva Inc.

Service Worker/IndexedDB/Cache

  • Developed the Service Worker script to efficiently handle requests.
  • Designed and implemented a Canva design preloading mechanism for seamless display of offline designs.
  • Led the Offline Fallback page project, enhancing the overall offline user experience.
  • Spearheaded the Offline Presenting project, focusing on preloading and displaying offline presentation designs.
  • Led the storage layer project, integrating IndexedDB and Cache API for privacy policy compliance.

Desktop App Development / Canva Inc.

Electron/Typescript/React/Protobuf

  • Electron based-on Desktop app
    • Took charge of the development of the Eyedropper feature, addressing a high demand from users.
    • Successfully implemented the functionality to export designs to images in offline mode.
    • Developed tab management features to enhance the desktop application's usability.
  • Cross-platform/Cross-version Architecture
    • Compatibility Check Mechanism/API version management
    • Based on proto definitions for checking API capabilities
  • React/MobX based Webapp

Designer Tools Development / Phase

React/Javascript/SVG/WebGL

  • React/Redux based Webapp
  • Architecture Design
    • Orchestrated the data pipeline, segregating Business Logic Controllers, UI Components, and design renderer for improved modularity and scalability.
    • Spearheaded the UI Implementation, crafting intuitive components such as Property Panel and Timeline Panel using React/Redux.
    • Implemented robust Editing History Support to enhance user experience.
  • Dimension Model Algorithm Design
    • Engineered a sophisticated algorithm for the dimension model to seamlessly support multi-state group structures, optimizing versatility in design scenarios.
  • Pixi+SVG Based Rendering Engine
    • Developed a high-performance Rendering Engine leveraging Pixi and SVG technologies, ensuring a seamless and visually compelling user interface.
  • WebGL Rendering Engine Prototype
    • Pioneered the development of a WebGL Rendering Engine Prototype, pushing the boundaries of graphic rendering capabilities for enhanced visual experiences.

Firefox Browser / Mozilla

Javascript/HTML/CSS/C++

  • Password manager and Contextual warning
  • Downloads Panel UI refinement
  • Form Autofill - heuristics, filling a form, multiple section support

Firefox OS Gaia / Mozilla

Javascript/HTML/CSS

  • Web apps development including Dialer, Firefox Sync, and Settings in Firefox OS
    • Partner support for bugs resolving of Dialer and SIM Card Toolkit(STK) app
    • Firefox Sync on TV - Bookmarks, History, and Tabs
    • Settings app on TV - key navigation
  • Cloud Storage (unidisk) project - Talk in Moz All-hands 2015
  • A web app of BLE Drone remote controller - Demonstration in Moz All-hands 2015
    • Rolling Spider remote controller app for FxOS

unidisk - Web Storage via FUSE / Symbio&Mozilla

NodeJS/Linux/C/C++

  • JSDC 2015 Speaker unidisk - Architecture of Web Storage filesystem
  • Refactor the new architecture in Nodejs: github.com/weilonge/unidisk
  • Manipulate the files in web storage (e.g., Dropbox) just like in your disk and play a 1080p video smoothly in realtime!
  • Connect the web storage and FUSE, so that the file manipulation would be easier!!!
  • Multi-thread module to improve the overall performance.
  • Library/service - fuse-bindings, Dropbox API, BaiduYun PCS.
  • The earlier version is implemented with pthread, curl, cJSON in C/C++.

Surveillance Video Analysis & Monitoring System / Symbio(ITRI)

Javascript/HTML/CSS/Java

  • Java Web Application with PaaS API to process massive video data.
  • Frontend - Google Map API, ZK framework
  • Backend - ZK framework, Hibernate, PostgreSQL

iRONYUN web portal of IaaS / Symbio(ITRI)

Javascript/HTML/CSS/Java

  • Responsibility
    • The process of sign in/up, shopping cart, VM Dashboard, etc
    • i18n support and implement utility for i18n team to modify the phrase more easily.
    • Fix the issues after vulnerability scanning
    • Website performance optimization
  • Frontend - Bootstrap, jQuery, Backbone
  • Cloud OS client in NodeJS - used for debugging, testing, etc.
    • Use async library to simplify the API
    • Very easy to extend and use!!
  • Backend - J2EE, Spring, Hibernate, MySQL, Cloud OS of ITRI

VM Management Utility / Symbio(ITRI)

Node.js

Library/client for a Virtualization OS to manipulate the large amount VMs. Very easy to use, test, and extend!!

Linux Experience

VeriFone Embedded Linux POS Development / MiTAC

System bring up, device drivers, a diagnostic framework for factory and testing.

  • POS solution - Broadcom BCM5892 ARM SoC
  • System bring up - U-Boot to Linux kernel and use ARM Development Suite (ICE) to debug.
  • Linux driver for Smart Card
    • Linux Driver & Application Development - TDA8026 + BCM5892 SCI
    • Transmission Protocol - ATR, APDU
    • Retrieve the card data from a Taiwan Health Insurance Card and VISA Credit Card
  • Hardware Protocol Knowledge
    • AT Command (PSTN) - Automatic PSTN device test.
    • SPI / I2C / PWM - Ability to analysis the signal in a circuit.
    • 4-Wire Resistive Touch Screen Driver - Implement a Linux driver with 2 A/D Converters in SoC.
    • Miscellaneous Linux Driver - Light Sensor(SPI, ADC) / LCD driver tuning / Keypad.

A Framework of Diagnostic for POS on Embedded Linux / MiTAC

Linux/QT/C/C++

  • Worked on the design specification with the customer, the verification team, and the manufacturing team.
  • Break-down components and be a leader to assign the modules to our team members (about 20 people).
  • High Scalability Diagnostic/Auto Making System
    • Support automatically building/compiling system including build, rebuild, and clean components for each function.
    • Provide the application/library template for developers/users to develop more easily.
    • Support GUI(QT)/console control simultaneously.
    • Support high flexibility to implement a test case in C/C++ or Shell Script.
    • Well-architecture for fast porting to different screen size/resolution.
    • This system has been used to over 5 POS projects and suffered stress testing for over one month with robust reliability.

Android Platform Booting Process Optimization / Symbio

Android/C/C++

Build a small Android system with GUI(Zygote) and improve the booting time to under 10s.

  • Remove services (except Zygote) as more as possible to see how small an Android system with GUI is possible.
  • Find the dependency between Android startup services from System Server.
  • The booting process improvement from 45s to about 9s in the emulator.

Side Projects

Apply Emdebian Grip Linux on white brand ARM netbook

Embedded Linux

Dicall! Dictionary extension

WebExtensions/Javascript/HTML/CSS

A gadget to look up Yahoo Dictionary when you select a word in web pages. Chrome Web Store

Raspberry Pi - Hardware hacking for fun

Playstation joystick hardware hacking, play arcade games on it with friends!!! blog post

Education

MS, Computer Science, Chang Gung University

2006 - 2009, Taiwan

BS, Computer Science, Chung Yuan Christian University

2002 - 2006, Taiwan

Others

Development Environment Preferences

  • One-click development environment deployment for tmux, vim, etc. configurations
  • Editor - vim, Intellij, VSCode
  • Operation system - macOS, Ubuntu
  • Others - tmux, git