Ryan Xu

软件工程师,专注后端与 AI 应用。

职位
软件工程师
专注
后端 / 平台
兼顾
AI 应用、金融科技

云基础设施、生产环境 AI 系统,以及受监管环境下的身份验证工具。

项目

12 个项目。已上线的会在新标签页打开;其余仅提供预览,取决于各自涉及什么。

Quirky

已上线 · 在新标签页打开
Quirky

集合浏览器小游戏与工具的合集 — 十一款每日谜题,另有测验与计算器。无构建步骤、无后端、无需账户、无需下载:打开即玩。

  • Vanilla JS
  • PWA
  • Cloudflare Pages

Vancouver Bus Map

已上线 · 在新标签页打开
Vancouver Bus Map

大温哥华地区每一辆公交车的实时地图,整个架构由一个限制决定:TransLink 的接口对每个密钥每天只允许 1,000 次请求。浏览器从不直接调用 TransLink——所有请求由一个持久对象统一发出,测试会在任何改动超出上限时让构建失败。两次轮询之间,每辆公交车按自己实测的速度沿真实路线向前推算;标记会随推算变旧而淡出,所以地图不会把推测当作事实。

  • TypeScript
  • Cloudflare Workers
  • Durable Objects
  • MapLibre

Courtly

已上线 · 在新标签页打开
Courtly

免费的球拍运动轮换调度工具 — 羽毛球、匹克球、网球、板式网球、乒乓球。粘贴球员名单即可生成公平的每一轮:人人有得打、搭档每轮更换,而不想撞在一起的组合也不会撞在一起。每位球员用自己的手机打开同一条链接查看赛程,不必再围着组织者那部手机。它最初是为我自己的球队而做的。

  • TypeScript
  • Cloudflare Workers

MapleBenefits

已上线 · 在新标签页打开
MapleBenefits

免费且保护隐私的工具,助你发现可能错过的加拿大政府福利。只需填一次简短问卷,即可看到你可能符合资格的所有联邦及省级福利 — 按估算金额排序,每项附有浅白的符合理由及申请方法。提供英文、繁体中文及简体中文,无需注册、不作追踪:答案只留在浏览器。

  • Next.js
  • TypeScript
  • Cloudflare Pages

Neon Keep

已上线 · 在新标签页打开
Neon Keep

霓虹主题的浏览器街机游戏,内含两款小游戏。一款是刁钻石像鬼把守金库的猜谜游戏——只能问旁敲侧击的是非题,不能直接问密码。另一款是只有一条命的生存游戏,需要按攻击预示的方向闪避或招架,判定窗口随波数递减。无构建步骤、无后端、无需账户。

  • Vanilla JS
  • GitHub Pages

Personality

已上线 · 在新标签页打开
Personality

一个四字母性格测试,会告诉你结果里还藏着哪个类型。三十六道题,七档量表,答题过程中不显示任何实时统计。无需注册,不保存任何数据,也不上传到任何地方。

  • Vanilla JS
  • Cloudflare Pages

finance-monorepo

已上线 · 在新标签页打开
finance-monorepo

市场分析控制台:分析与筛选服务构建在 Cloudflare Worker API 之上,配合已部署的 React 前端,用于研究与服务健康监控。

  • Python
  • React
  • Cloudflare Workers

ai-learning-inbox

内部工具 · 仅供预览

持续收集 AI 相关帖子,将每条转化为简短摘要及“为何重要”注释,让信息流变成可回顾的阅读列表。

  • TypeScript
  • Cloudflare Workers

career-intel

私有项目 · 仅供预览

先看资格、后看相关度的求职搜索:硬性条件筛选在任何相似度评分之前执行。每条结果附带佐证、差距与来源,并如实说明本次搜索未能覆盖的范围。

  • TypeScript
  • Next.js
  • Prisma

personal-finance-hub

私有项目 · 仅供预览

以资产负债表为先的个人理财,围绕一个问题构建:现在该做什么?主界面先呈现拥有与负债,而非一列交易记录。

  • TypeScript
  • Cloudflare Workers

position-lens

私有项目 · 仅供预览

只读的投资组合复盘。将某一时点的快照转为确定性的收盘后报告,仅在需要时才向外请求研究数据。刻意不设下单接口。

  • TypeScript
  • Cloudflare Workers

threads-autoposter

私有项目 · 仅供预览

Threads 的起草、调度与发布。设计上在接入真实凭证之前即可完整演练:发布默认为空跑模式,未设置 API 密钥时文案生成回退到确定性的预设内容。

  • TypeScript
  • Gemini API
  • Meta OAuth

工作经历

在一家身份验证公司三年,从实习做到 Software Engineer II;另有一学期担任系统课程助教,那门课正好解释了这一切为何成立。

Trulioo

加拿大温哥华

Software Engineer II

2025年2月 – 至今

为 AI 辅助的企业实体与最终受益人发现构建后端:服务方支撑的 API、有据可溯的检索,以及目前把关每次合并的确定性回归测试。

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

Junior Software Engineer

2023年4月 – 2025年1月

面向客户的验证微前端,以及其背后的事件驱动持久化 — 重试、排序、重复事件与最终一致性。

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

Junior Software Engineer(实习)

2022年5月 – 12月

横跨 88 张工单的全栈企业验证工作。独立完成一项功能的端到端交付 — 网页 UI、微前端、SDK 与配置 — 此后主动提交后续重构。学期末以一个图数据库原型收尾,从公开登记数据梳理公司股权关系。

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

The University of British Columbia

加拿大温哥华

CPSC 213 助教

2023年1月 – 4月

计算机系统导论:从高级语言代码一路讲到汇编、内存布局、I/O 设备、虚拟处理器与并发。支持三个讲课班约 470 名学生 — 主持实验课、开放答疑时间、回复课程论坛、批改与监考。

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

Public Services and Procurement Canada

加拿大温哥华

Web Application Developer(实习)

2021年9月 – 2022年4月

为区域政府客户开发内部网页应用,前后端兼顾。评审同事的合并请求、直接处理客户需求,并交付一项全栈功能,涵盖 jQuery 表单与一次代码优先的数据库迁移,把外键从一个表移到另一个表。

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

简历之外

简历条目容易压平的部分:动手之前先量化了什么、行不通时如何如实汇报,以及事后为大家减少了多少噪音。

工程判断

  • 在实现之前先预测每个测试的耗时影响,随后实测结果与预测相符。
  • 另一个相关的性能实验未带来耗时改善,如实汇报,而非悄悄略过。
  • 确认 AI 智能体分析的是过时分支后,主动撤回该缺陷报告。
  • 通过直接测量两条代码路径,定位间歇性失败的取消测试成因,并修复底层竞态条件,而非用重试掩盖。

信号与噪音

  • 调整错误日志的默认严重级别,使后续新增的错误码除非被刻意标记为需要告警,否则保持静默。
  • 修正超时测试场景,使其真正走客户端超时路径,而非仅验证模拟对象的延迟行为。

系统与影响力

  • 建立可复用的场景对齐审核流程,覆盖权威文档、模拟路由、端到端调用与断言。
  • 为非确定性的 AI 行为建立可复现的回归测试场景:重试、格式错误与空响应、缺少事实依据,以及不同服务方的协议差异。
  • 通过依赖梳理、明确的取舍、可复现的调查与代码评审影响技术决策 — 包括在证据改变时修正方向。