Dami Peng
Software engineer building backend systems and infrastructure.
I like designing systems that work reliably in production and understanding the engineering decisions behind them.

Now
SWE intern at IBM Skills Network, third term — backend infrastructure for a platform serving 80K monthly users.
Next
Engineering intern at Shopify, Winter 2027. Computational Mathematics at the University of Waterloo.
About
I'm drawn to problems where the right fix is structural: separating workers from API servers, getting events reliably across replicas, or making background jobs observable without digging through production pods. I enjoy thinking about system boundaries, failure modes and the tradeoffs behind an architecture. I care less about adding another layer of abstraction and more about making the underlying system work well.
At the same time, I like understanding how things work beneath those abstractions. Outside of work, I spend a lot of time building projects in C++. I've built a C compiler with Flex, Bison and LLVM, and enjoy exploring the mechanics behind the tools and systems I use. I also spent a term on optimization research, benchmarking accelerated gradient methods on CIFAR-10 — an experience that reinforced my preference for measurement over intuition.
I write here about the systems I build, the engineering decisions behind them, what breaks, and the things I learn along the way.
Impact
−99%
Redis memory, by moving uploads to direct-to-S3 pre-signed URLs
80K
monthly users on a React/TypeScript SPA re-architected from a 20K-LOC legacy app
$17K/yr
saved in infra and API costs: Kubernetes worker isolation plus an LLM/STT model migration
Projects
C Compiler
End-to-end compiler with a two-pass design — symbol collection, then semantic analysis and LLVM IR codegen — over a type-safe AST built on std::variant.
Parametric Modelling
A Maya plug-in with custom dependency-graph nodes that generate procedural staircase and arched-bridge meshes in real time, with Perlin-noise surface weathering.
Chess
Chess engine with standard and atomic variants, three computer difficulty levels and thread-safe move calculation. A differential renderer cut move redraws from 3.5s to 0.1s.
Portfolio Optimization
A robust linear program for portfolio selection that adapts Soyster's and Bertsimas–Sim models to worst-case volatility. Team paper for CO 370, Deterministic OR Models.