My name is Lawrence and I am a Software Engineering student at the University of Waterloo.
I believe in
the right tool for the right job, and thus I am constantly
learning and experimenting new technologies to expand my toolbox.
I pride myself in being a well-rounded full-stack developer. I have a strong background in modern web UI development and I have professional experience doing back-end work with Rails, PostgreSQL and MongoDB.
I am currently learning Clojure and distributed systems.
TL;DR? Download my résumé.
Viw is my coolest project so far. It is a VI-like, terminal-based text editor
with undo & redo written in C. I drew inspirations from
data-driven programming and the
flux architecture. Make sure to read my blog
What I learnt from coding a text editor in C
Rebash is definitely one of my most underrated projects. Most people I talked to
showed 0 interest in it. However, this project is what got me into functional
programming. It is a
configurable terminal emulator React component. I was too
lazy to style it but trust me, it is really cool.
Visit my Github for more.
I worked at Universe as a full-stack engineer co-op from
May 2017 to
I first worked on the embedded widgets code base. I upgraded react-router from v2 to v4, set up code splitting and completely redesigned the third-party script that deploys Universe’s embedded widgets. This allows multiple embeddable widgets to exist in the same repository and to be deployed in a uniform way. It also unlocks many previously impossible features such as widget customization, etc.
Toward the end of my co-op term, I worked with the platform team to release Universe’s public GraphQL API. I was involved with reimagining Universe’s domain models. I also shipped Universe’s first single page application that consumes the new GraphQL endpoint to production.
I worked at Plotly as a front-end engineer co-op from
May 2016 to
At Plotly, my job was maintaining a large-scale React & Redux SaaS application that interacts with plotly.js.
I was involved with Flux to Redux migration. I also helped introducing different user tiers (pro user vs free user). I came up with an abstraction that simplifies front-end feature access control.