Hi! I'm Ian.

Welcome to my slice of the web!

I'm currently a software engineer at Airwallex revamping financial reporting products to be delightful and fast. Previously, I was an intern at Amazon where I improved the pre-pickup experience for Fresh delivery drivers.

In tech, I enjoy:

Outside of tech, I enjoy playing table tennis, taking long scenic walks, and reading novels and biographies.

Find me on:

Projects

Screenshot of a sample >1100-page report generated using Typst4k

Typst4k

Feb 2025

Built a library in Kotlin for any Java-compatible language which interfaces with the Typst typesetting tool to efficiently generate PDF documents.

This library enables services to generate an 1100-page report with over 31,000 rows of user-provided data in 6 seconds, while providing a much more delightful and flexible report authoring experience.

Screenshot of the easter egg computed from my input in Advent of Code 2024

Advent of Code 2024

Dec 2024

Participated in Advent of Code 2024 and solved challenges using Java in a functional style.

Through these exercises, I reinforced my understanding of data structures and algorithms.

Screenshot of SnapSave's main memories view

SnapSave

Jun - Oct 2022

Led team of 5 over three months to build a responsive web app using TypeScript, NextJS, and MongoDB to save memories with photos, tags, and fast full-text search.

Background data refreshes and fuzzy text search of 300 posts both complete in under 70ms.

Cumulatively saved 15 hours of dev time by setting up a continuous deployment pipeline with GitHub Actions.

Screenshot of logs showing successful trades being submitted and executed in a market

Flex-e-markets auto-traders

Aug - Sep 2022

Implemented two auto-traders in Python to add and take liquidity on a simulated exchange with arbitrage and CAPM strategies.

Built a state machine with one-way data flow to handle async/out-of-order market events and prevent bugs while staying within position limits, achieving no illegal order errors during trading.

Screenshot of the CI/CD pipeline successfully testing the HTTP server

Multithreaded HTTP server in C

May 2022

Implemented a fast, multithreaded HTTP 1.1 static file server in C with IPv4/v6 support and a thread-per-request model, using pthreads, sockets, and sendfile.

Provides over 3GB/s bandwidth while handling 100 simultaneous downloads with no failures.