Backend & infrastructure engineer · real-time ML systems · AI agents
CS @ UBC, Class of 2027 · 3× hackathon 1st place
I build backend systems that hold up in production, and I ship products fast when the clock is running. I've worked on infrastructure and AI-agent products at Sendbird and built markets data tooling as a quant developer at RBC. On weekends I win hackathons.
| Company | Role | What I worked on |
|---|---|---|
| Sendbird · San Mateo, CA | Backend & Infra Engineering | Backend systems, infrastructure, and AI-agent product work |
| Royal Bank of Canada | Quantitative Developer | Data and analytics tooling for capital markets workflows |
| Result | Event | Project |
|---|---|---|
| 🥇 1st Overall | nwHacks 2026 (Western Canada's biggest hackathon) | Rehabify |
| 🥇 1st, YC track · 🥉 3rd, Sideshift prize | HackTech 2026 | Recruit |
| 🥇 1st Overall · 🥇 1st, Clustly prize | Cursor AI Hackathon | MaintainerOS |
| Project | What it is | Built with |
|---|---|---|
| Flux | Real-time crypto market data pipeline. Coinbase and Kraken feeds fan out through Kafka into candle aggregation and streaming indicators, served over REST and WebSocket, with Prometheus and Grafana alerting on consumer lag and the DLQ. | Python, Kafka, FastAPI, Postgres, Redis, Docker |
| Rehabify | AI physical therapy coach. Pose estimation runs in the browser and a voice coach corrects your form mid-rep, while PTs get a remote dashboard of patient progress. | Next.js, TypeScript, MediaPipe, Gemini |
| Recruit | Supervised AI agents for the job hunt. They discover and rank roles, tailor the resume, and fill ATS forms, and they send any question they can't answer from facts to a human review queue. | Next.js, Convex, OpenAI, Anthropic |
| MaintainerOS | Work routing for open-source maintainers. It imports a GitHub issue backlog, sorts it into lanes for agent fixes, contributor bounties, or human review, and only pays out a bounty once the PR passes verification. | Next.js, Neon Postgres, Daytona, Greptile, Stripe |
| EchoMe | Speak an idea, get a deployed app. Voice in, Claude generates the full-stack code, Vercel ships it. | Next.js, Claude API, Vercel |
| AI Voice Interviewer | Practice interviews out loud with a real-time voice agent, with a live transcript, call state, and feedback. | Next.js, Vapi, TypeScript |
Languages: Python · TypeScript · SQL
Backend & data: FastAPI · Kafka · PostgreSQL · Redis · PySpark · Databricks
Infra: AWS · Docker · Terraform · Prometheus · Grafana
Product: Next.js · React · LLM agents and voice AI
Going deeper on real-time ML systems, stream processing, and distributed systems, and building AI agents that are safe to leave running. Always happy to talk with founders and teams working on infra, real-time ML, or agents. The fastest way to reach me is email.




