Skip to content
View xr-susan's full-sized avatar

Block or report xr-susan

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
xr-susan/README.md

Hi, I'm Xiaorou He 👋

I build things and then try to make them hold up under scrutiny — automated tests, clear documentation, and CI that actually runs.

Most of what I work on sits somewhere between backend services and test tooling: APIs, data-heavy dashboards, and the automation frameworks that keep them honest.


🔧 Tech I work with

Python Java JavaScript TypeScript React Node.js Express SQLite PostgreSQL Docker GitHub Actions


📌 Selected projects

A production-minded API automation testing framework for order and payment workflows. Layered test suites (smoke / functional / contract / resilience / security), data-driven cases from YAML, JSON and Excel, idempotency-aware retry, secret redaction in logs, and architecture decision records documenting the why behind each choice.

Python · pytest · httpx · FastAPI · Docker Compose · GitHub Actions

A fund review and watchlist monitoring workbench. Tracks NAV history, holdings concentration, benchmark comparison and review notes, with per-user data isolation, WebSocket push updates, a caching layer with third-party API fallback, and CSV export.

React · Vite · Tailwind CSS · Zustand · Express · SQLite · JWT

A small REST API for posts and comments, built to be easy to read, run and extend. Ships three interchangeable storage backends (JSON, SQLite, PostgreSQL) behind one interface, JWT admin auth, comment moderation, an OpenAPI document, and a Docker image with a health check.

Node.js · Express · JavaScript (ESM) · JWT · Docker

🖼️ PhotoCullAI

A desktop tool that scans large photo and video libraries and helps you decide what to keep — near-duplicate grouping, quality scoring, face grouping and Live Photo handling, with a report you can export.

Python · PyQt6 · OpenCV · InsightFace

An AI research assistant that chains web search, scraping, data analysis and report generation into a single conversation, with multi-turn memory and result export.

Python · FastAPI · React · TypeScript

A task management app with categories, priorities, due-date tracking, combined filtering, batch operations and an analytics view. Data persists locally, no backend required.

React 18 · TypeScript · Zustand · Tailwind CSS · Chart.js

An interactive visualisation of the Banker's algorithm for deadlock avoidance. The algorithm core is deliberately decoupled from the Swing UI so it can be unit tested headlessly, and it is.

Java 17 · Swing · JUnit 5 · Maven


📊 GitHub stats

GitHub stats for xr-susan Most used languages

Popular repositories Loading

  1. PhotoCullAI PhotoCullAI Public

    Local PyQt6 desktop app to scan photo/video libraries, score quality, group near-duplicates, and export cull reports

    Python 1

  2. BankerAlgorithm BankerAlgorithm Public

    Java Swing visualiser for the Banker's deadlock-avoidance algorithm, with a testable UI-free core and 32 unit tests.

    Java 1

  3. TaskFlow-Pro TaskFlow-Pro Public

    A professional task management app built with React 18, TypeScript, Zustand, and Tailwind CSS

    TypeScript 1

  4. blog-api-backend blog-api-backend Public

    A small, production-minded Blog API in plain JavaScript (ESM) with JSON, SQLite, and PostgreSQL storage.

    JavaScript 1

  5. ResearchAgent ResearchAgent Public

    AI Research Assistant - 网络搜索、数据分析、信息整合的智能体,支持多轮对话、记忆管理和结果导出

    Python 1

  6. fund-review-monitor fund-review-monitor Public

    Fund review and watchlist monitoring system with React, Express, and SQLite

    JavaScript 1