Ryan Xu

軟件工程師,專注 backend 與 applied AI。

職位
軟件工程師
專注
Backend / Platform
兼及
Applied AI、金融科技

雲端基建、production AI 系統,以及受規管環境下的身分驗證工具。

作品

12 個項目。已上線的會在新分頁開啟;其餘只提供預覽,視乎各自涉及甚麼。

Quirky

已上線 · 於新分頁開啟
Quirky

集合瀏覽器小遊戲與工具的 hub — 十一款每日謎題,另有測驗與計算機。無 build step、無後端、無需帳戶、無需下載:打開即玩。

  • Vanilla JS
  • PWA
  • Cloudflare Pages

Vancouver Bus Map

已上線 · 於新分頁開啟
Vancouver Bus Map

大溫哥華地區每一輛巴士的實時地圖,整個架構由一個限制決定:TransLink 的 API 每個 key 每日只准 1,000 次請求。瀏覽器從不直接呼叫 TransLink——所有請求由一個 Durable Object 統一發出,測試會在任何改動超出上限時令 build 失敗。兩次輪詢之間,每輛巴士按自己實測的速度沿真實路線向前推算;標記會隨推算變舊而淡出,所以地圖不會把推測當成事實。

  • TypeScript
  • Cloudflare Workers
  • Durable Objects
  • MapLibre

Courtly

已上線 · 於新分頁開啟
Courtly

免費的球拍運動輪換排程工具 — 羽毛球、匹克球、網球、板式網球、乒乓球。貼上球員名單即可生成公平的每一輪:人人有得打、拍檔每輪更換,而不想撞在一起的組合也不會撞在一起。每位球員用自己的手機開同一條連結看賽程,不必再圍著搞手那部電話。它最初是為我自己的球隊而做的。

  • TypeScript
  • Cloudflare Workers

MapleBenefits

已上線 · 於新分頁開啟
MapleBenefits

免費且保護私隱的工具,助你發掘可能錯過的加拿大政府福利。只需填一次簡短問卷,即可看到你可能符合資格的所有聯邦及省級福利 — 按估算金額排序,每項附有淺白的符合理由及申請方法。提供英文、繁體中文及簡體中文,無需註冊、不作追蹤:答案只留在瀏覽器。

  • Next.js
  • TypeScript
  • Cloudflare Pages

Neon Keep

已上線 · 於新分頁開啟
Neon Keep

霓虹主題的瀏覽器 arcade,內含兩款小遊戲。一款是刁鑽石像鬼把守金庫的猜謎遊戲——只可以問拐彎抹角的是非題,不可以直接問密碼。另一款是得一條命的生存遊戲,要按攻擊預示的方向閃避或格擋,判定窗口隨波數遞減。無 build step、無後端、無需帳戶。

  • Vanilla JS
  • GitHub Pages

Personality

已上線 · 於新分頁開啟
Personality

一個四字母性格測試,會告訴你這次結果裏還藏著哪一個類型。三十六條題目,七檔量表,答題期間不會顯示任何即時統計。無需註冊,不會保存任何資料,亦不會傳送到任何地方。

  • Vanilla JS
  • Cloudflare Pages

finance-monorepo

已上線 · 於新分頁開啟
finance-monorepo

市場分析主控台:analyst 及 screener 服務建於 Cloudflare Worker API 之上,配合已部署的 React 前端,用於研究與服務健康監察。

  • Python
  • React
  • Cloudflare Workers

ai-learning-inbox

內部工具 · 只供預覽

持續收集 AI 相關貼文,將每則轉化為簡短摘要及「為何重要」註解,令 feed 變成可回顧的閱讀清單。

  • TypeScript
  • Cloudflare Workers

career-intel

私人項目 · 只供預覽

先看資格、後看相關度的求職搜尋:hard gates 在任何相似度評分之前執行。每項結果附帶佐證、落差與來源,並如實交代今次搜尋未能覆蓋的範圍。

  • TypeScript
  • Next.js
  • Prisma

personal-finance-hub

私人項目 · 只供預覽

以資產負債表為先的個人理財,圍繞一個問題而建:現在應該做甚麼?主畫面先呈現擁有與欠負,而非一列交易紀錄。

  • TypeScript
  • Cloudflare Workers

position-lens

私人項目 · 只供預覽

唯讀的投資組合檢視。將某一時點的快照轉為確定性的收市後報告,僅在有需要時才向外請求研究資料。刻意不設下單 endpoint。

  • TypeScript
  • Cloudflare Workers

threads-autoposter

私人項目 · 只供預覽

Threads 的草擬、排程與發佈。設計上在接入真實憑證之前已可完整試行:發佈預設為 dry run,未設 API key 時文案生成回退至確定性的預設內容。

  • TypeScript
  • Gemini API
  • Meta OAuth

工作經驗

在一間身分驗證公司三年,由 co-op 到 Software Engineer II;另有一學期擔任系統課程助教,那門課正好解釋了這一切為何行得通。

Trulioo

加拿大溫哥華

Software Engineer II

2025年2月 – 現在

為 AI 輔助的企業實體與最終受益人查找建立 backend:provider 支援的 API、grounded search,以及現時把關每次 merge 的確定性回歸測試。

  • C#
  • .NET
  • AWS
  • Generative AI APIs
  • xUnit
  • GitLab CI

Junior Software Engineer

2023年4月 – 2025年1月

面向客戶的驗證 microfrontend,以及其背後的 event-driven 持久化 — retry、排序、重複事件與最終一致性。

  • React
  • TypeScript
  • C#
  • .NET
  • AWS Lambda
  • SQS
  • EventBridge
  • DynamoDB
  • MySQL

Junior Software Engineer(Co-op)

2022年5月 – 12月

橫跨 88 張 ticket 的全端企業驗證工作。獨力完成一項功能的端到端交付 — web UI、microfrontend、SDK 與設定 — 其後主動提交後續重構。學期尾以一個 graph database 原型作結,從公開登記資料整理公司股權關係。

  • C#
  • .NET
  • React
  • SQL migrations
  • Managed graph database

The University of British Columbia

加拿大溫哥華

CPSC 213 助教

2023年1月 – 4月

Introduction to Computer Systems:由高階程式碼一路講到 assembly、記憶體佈局、I/O 裝置、virtual processor 與並行處理。支援三個講課組別約 470 名學生 — 主持 lab、開放辦公時間、回覆課程論壇、批改及監考。

  • C
  • Assembly (SM213)
  • Concurrency
  • Memory layout

Public Services and Procurement Canada

加拿大溫哥華

Web Application Developer(Co-op)

2021年9月 – 2022年4月

為區域政府客戶開發內部網頁應用,前後端兼顧。審核同事的 pull request、直接處理客戶需求,並交付一項全端功能,涵蓋 jQuery 表單與一次 code-first migration,把外鍵由一個表移到另一個表。

  • C#
  • ASP.NET MVC
  • Entity Framework
  • SQL Server
  • JavaScript
  • jQuery
  • Git

履歷以外

履歷條目容易壓平的部分:動手之前先量度了甚麼、行不通時如何如實匯報,以及事後為大家省下了多少雜訊。

工程判斷

  • 在實作之前先預測每個 test 的時間影響,其後實測結果與預測相符。
  • 另一個相關的效能實驗未帶來時間改善,如實匯報,而非悄悄略過。
  • 確認 AI agent 分析的是過時分支後,主動撤回該 bug report。
  • 透過直接量度兩條 code path,找出間歇性失敗的 cancellation test 成因,並修正底層 race condition,而非加 retry 掩蓋。

訊號與雜訊

  • 調整 error log 的預設嚴重程度,令日後新增的 error code 除非刻意標示為需要警示,否則保持靜默。
  • 修正 timeout 測試情境,令其真正走 client timeout 的路徑,而非只驗證 mock 的延遲行為。

系統與影響力

  • 建立可重用的情境對齊審核流程,涵蓋 canonical 文件、mock routing、end-to-end 呼叫與 assertion。
  • 為非確定性的 AI 行為建立可重現的回歸測試情境:retry、格式錯誤與空白回應、缺少 grounding,以及不同 provider 的協定差異。
  • 透過依賴關係梳理、明確的取捨、可重現的調查與 code review 影響技術決策 — 包括在證據改變時修正方向。