Python Backend
Building and maintaining web applications with Django, Tornado and Flask. Data processing and storage with MySQL, MongoDB, Redis, Kafka and Milvus. Interface design and integration over RESTful APIs and Protobuf-based gRPC.
技術者経歴書
Full-Stack Engineer / AI & Backend
A Python-centred engineer since 2019 — from machine-learning implementation to production-grade backends. Currently in Japan working on legacy-system modernisation with LLMs.
ABOUT
My strength is a strong curiosity toward new things and a willingness to take on challenges. Whenever a new technology or tool appears, I learn it and try it out hands-on first. As a result I pick things up quickly and adapt flexibly to new environments. I welcome change and keep growing while enjoying new opportunities.
Hebei University of Economics and Business (B.Sc.)
Mathematics and Applied Mathematics
2015.09 – 2019.06 ・ GPA 3.97 / 5 · Rank 9 / 30 in major
SANKO Japanese Language School, Tokyo ↗
Japanese language
2024.07 – 2025.11 ・ Enrolled Jul 2024 / left school Nov 2025 · JLPT N2
SKILLS
Building and maintaining web applications with Django, Tornado and Flask. Data processing and storage with MySQL, MongoDB, Redis, Kafka and Milvus. Interface design and integration over RESTful APIs and Protobuf-based gRPC.
Data analysis (regression, clustering) with scikit-learn. Object detection (Faster R-CNN), recognition (ResNet) and YOLOv8 with PyTorch. Inference acceleration on NVIDIA CUDA and Huawei Ascend ACL with C++ integration.
Admin UIs with Vue 2 / Vue-Element-Admin. Screen development with React, TypeScript and Angular. Data visualization with ECharts.
C++11 project work. API and business-logic implementation in Go. Experience with a migration project to Rust.
Provisioning and deployment with Docker, docker-compose, Nginx and shell scripts. Production setup and operations on AWS and Azure. Handling vulnerability scans with tools such as Fortify.
Crawler development (XPath-based and API-based). Data manipulation with NumPy and Pandas. Image processing with OpenCV; video rotation, affine transforms and cropping with FFmpeg. Applied LLM / prompt engineering at work, including building an internal GPT bot.
◎: 1+ year professional / ○: professional experience / △: familiar
OS
Language
Database
Web / AP Server
Other
Mother tongue
Studied at a Japanese language school (Jul 2024 – Nov 2025)
EXPERIENCE
Open any company to see what I did there — responsibilities, projects, system data flow and takeaways.
2025.10 – Present 1 yr 1 mo
◯◯ Co., Ltd. (SES)
Developer (Python) ・ Contract development · legacy modernisation (SES)
Working in Japan as an SES engineer on legacy-system modernisation: automatic COBOL functional specs with ANTLR4 + RAG + MCP, a people-and-organisation sync tool for a major electronics maker's departmental system, and — as the engineer in charge — a rule-plus-generative-AI CMD → C# conversion platform.
2023.07 – 2024.07 1 yr 1 mo
Guangzhou Chenchuang Technology Development Co., Ltd.
Python Developer ・ Simulation & wargaming (research software)
Backend and agent work on a simulation product line: the main business service, engine lifecycle management and multi-user co-editing of a battlefield-simulation platform in Go (Gin), plus Python integration with a C++ wargaming platform, red/blue agents and a live monitor.
2022.08 – 2023.07 1 yr
Zhejiang Mulian Technology Co., Ltd.
Python Developer ・ Industrial control security
Python backend in industrial-control security: the traffic pipeline, allow-list detection engine and Django REST API of an out-of-band audit system, with Suricata integrated for deny-list detection and deep parsing of 27 industrial protocols.
2020.08 – 2022.08 2 yrs 1 mo
People's Zhongke Intelligent Technology Co., Ltd.
Algorithm Application Engineer ・ AI × content safety
Owned algorithm scheduling and the cross-language layer of a content-safety platform: Ray to orchestrate 10+ capabilities, SWIG to bring C++ SDKs into Python, a share of the Ascend Atlas inference SDK, and a cross-modal retrieval product shipped offline on my own.
2019.07 – 2020.07 1 yr 1 mo
Beijing Yunshangzuo Technology Co., Ltd.
Software Engineer ・ AI × education
Applied algorithms and full-stack work in AI × education: real-time classroom-behaviour analysis and alerts with Mask R-CNN + ResNet, an internal labelling and training platform, the stats backend of an online-class monitoring system, face verification and screenshot-recognition services.
During university (mathematics): learned data analysis with Python/scikit-learn and NumPy/Pandas. Amid the face-recognition boom, studied the C++ OSS face-recognition framework SeetaFace.
After joining AI × education: implemented Faster R-CNN and ResNet with PyTorch inside business logic. Web moved to Tornado; the frontend moved from HTML/JS/CSS to Vue, broadening my CS foundation.
AI × public-opinion period: worked with CV, OCR and NLP; used Kafka to unify multiple platforms in the core algorithm program, and ran Docker and cloud operations. Learned model distillation/pruning and hardware-level acceleration on CUDA / Ascend.
Security industry: understood common attack techniques and privilege escalation. Became proficient with Django; took part in a C++-to-Rust migration and Python speedups via Cython or rewrites in Go.
Simulation-software period: wrote server-side Go for the first time (Gin, WebSocket, goroutines) and used Python for integration with a C++ wargaming platform and for agent development.
In Japan: moved in July 2024, studied Japanese at a language school and passed JLPT N2 (left the school in November 2025). Since then, as an SES engineer: automatic COBOL functional specs (ANTLR4 + RAG + MCP), a people-and-organisation sync tool, and a CMD → C# conversion platform (rules plus generative AI).
WORKS
Public sector (municipal core-system migration) ・ Engineer in charge (architecture design, core implementation, review)
An automatic conversion platform that migrates long-running Windows batch scripts (CMD, Shift-JIS) to C# programs on an in-house batch framework. Rewriting by hand is costly and hard to prove equivalent, so I built a two-stage system — rule-based conversion plus generative-AI completion — guided by one principle: leave a TODO rather than silently change business logic.
System architecture
Responsibilities
Outcomes
Data flow
Legacy CMD → encoding detection → input normalisation → Lark parse → AST → rule engine → C# generation; TODO subroutines → three-way alignment → LLM generation → two-layer validation (≤7 retries) → .label.ai.cs
Manufacturing (major electronics maker) ・ Development, testing, release and hand-over of a Python sync tool (dispatched)
A software-engineering division of a major electronics maker built its own project-management and status-reporting platform on Redmine (Angular + Go + Redmine). People and organisation data live in an internal staff directory with no usable API, so I built the sync tool: it scrapes members and the org tree with Selenium and syncs them into Redmine accounts, department/section organisations and permission groups (4 departments, ~30 sections).
Responsibilities
Data flow
Staff directory → Selenium crawler (intranet PC) → CSV → SFTP → diff SQL / Redmine REST API (Azure VM) → accounts, organisation, permission groups
AI (visualising and documenting legacy assets) ・ Design, implementation and validation (led individually)
The customer's core batch work still runs on COBOL written decades ago: no usable design documents, abbreviated variables such as TR1-HINSHU whose business meaning is scattered across DB design manuals and glossaries, and fewer and fewer people who know COBOL. The goal: feed in COBOL source and get a Japanese functional specification (Markdown) that business staff can read. Design principle — deterministic work (syntax, layout, call graph) is done by programs; the model only gives meaning and writes it up.
System architecture
Responsibilities
Outcomes
Data flow
Knowledge base (manuals → semantic split → embeddings → ChromaDB) ⇄ MCP ⇄ COBOL source → preprocessing → ANTLR4 → AST → PERFORM call graph → topological sort → Gemma-3 per-subroutine generation → functional spec .md
Simulation & wargaming (for research institutes) ・ Backend developer (Go / Python)
The company's core product: a browser-based battlefield-simulation platform for research institutes. Users compose scenarios on a 3D digital globe, push them to a simulation engine with one click, and get live situation display, multi-user co-editing, recording/replay and effectiveness evaluation.
System architecture
Responsibilities
Data flow
Scenario editor (Vue + Cesium) ⇄ WebSocket co-editing → Gin main service → operator service (JSON → XML) → engine console (TCP) → simulation engine → situation feedback → 3D display / replay
Intelligent game-playing (unmanned air-sea scenario) ・ Python developer — agents and platform integration
A command-and-decision agent project for an unmanned air-sea scenario (island defence vs carrier strike group). A C++ wargaming platform adjudicates; on the Python side I built the platform integration, the red and blue agents and a live monitor of the engagement.
System architecture
Responsibilities
Data flow
C++ wargaming platform ⇄ ZeroMQ + Protobuf ⇄ runner (observe → decide → command) → red/blue agents → MQTT → PyQt5 live monitor
Industrial-control security (power, manufacturing) ・ Python backend developer ・ Team 13
An out-of-band traffic-audit system for power and manufacturing control networks: probes capture mirrored switch traffic, Kafka feeds a Cython protocol-parsing engine, and three layers of policy — assets, allow-list, deny-list — drive detection and alerting. It parses 27 industrial protocols in depth (Modbus, S7COMM, IEC104, IEC61850 MMS/GOOSE/SV, DNP3, OPC UA/DA/AE, PROFINET, ENIP/CIP, BACnet and more) and has been deployed at power-sector research institutes.
Responsibilities
Outcomes
Data flow
Switch mirror port → probe (Scapy) → Kafka raw_packets → Cython parsing engine → Redis 10 s flow aggregation → PostgreSQL → allow-list detection → alerts → Django + Vue; Suricata runs deny-list detection in parallel; PostgreSQL →(Debezium CDC)→ Pilosa
AI × content safety ・ Platform / algorithm backend (Python / C++11) ・ Team 15
An AI system modelled on leading content-moderation products: it monitors and analyses public media and offers review capabilities to government users and partners. It exposes 10+ algorithm capabilities by subscription across images, video, audio and text. I owned the Ray scheduling platform and the SWIG cross-language layer, and contributed to the Ascend Atlas ACL inference SDK and the dual-platform model toolchain.
Responsibilities
Outcomes
Data flow
Kafka tasks → pullers ×N (1:1 with partitions) → message layer → routing layer (algo_id ∩ model capability) → model actor pool (×5 per card) → result Kafka; C++ SDKs attached via SWIG; gallery data → Milvus + MySQL
AI × content safety (customer-specific offline delivery) ・ Sole developer
An offline deliverable for customer-specific needs: the developer-facing, many-parameter model API is wrapped into one simple retrieval endpoint and shipped as a Docker image, hiding model paths, feature dimensions and index partitions.
System architecture
Responsibilities
Outcomes
Data flow
Three-modality input (text / image / video) → frame sampling → cross-modal encoding (512-dim) → gRPC · Milvus → logic engine → RRF re-rank → tagging → Redis cache → JSON
AI × content safety (data platform) ・ Systems Engineer ・ Team 1
Built to visualize and streamline the data-processing work that deep learning needs, letting team members collect and transform data through a GUI. Scattered personal scripts were consolidated into one system, improving reuse and efficiency.
System architecture
Responsibilities
AI × education ・ Full-stack engineer (algorithms, backend, internal training platform) ・ Team 5
Classroom cameras recognise student behaviour (heads up, head down, hand raised, slumped on desk, turned away), face recognition maps it to individual students, and the system offers live alerts and multi-level class reports. I built two subsystems: a school-facing real-time analysis and alert platform, and an internal data-labelling and model-training platform.
System architecture
Responsibilities
Outcomes
Data flow
Camera RTSP → OpenCV read / frame drop → Mask R-CNN detection → ResNet18 behaviour classification → face recognition + tracking / voting → MongoDB → Tornado pages / live alerts / WeChat mini program
AI × education (online classes) ・ Stats-engine backend, admin frontend, part of the algorithm analysis
For online English classes (lessons moved online because of the pandemic): teacher and student audio/video are captured live and structured by ASR / CV / VAD. Red-line behaviours (speaking Chinese, the teacher talking too long, too little student participation, leaving the camera, black screen or drop-out) trigger near-real-time alerts, and teaching-quality reports are compared and ranked by headquarters/branch/campus, course, teacher and student.
System architecture
Responsibilities
Data flow
Page-capture SDK → OSS → ASR / CV / VAD workers → Elasticsearch → analysis / stats engine → admin portal + MQTT live alerts
AI × education (face verification) ・ Algorithm and service development
Face verification for an online-education customer: confirm from class video that the person on camera is the registered student, with full-gallery, incremental and per-person face search to catch one person with several accounts or several people sharing one.
System architecture
Responsibilities
Data flow
Video → random frames → face detection / alignment → occlusion, pose, age filters → feature extraction → cosine matching / Redis feature store → verification / search result
AI × ad-campaign verification ・ Training, inference, service and deployment
Automatic recognition of uploaded WeChat screenshots to verify Moments ad delivery: classify the screen type (chat / feed list / post detail) and extract the post time, ad copy, poster ID, QR-code link and like/comment counts.
System architecture
Responsibilities
Outcomes
Data flow
Screenshot upload → token / MD5 check → YOLOv5 element detection and classification → PaddleOCR + QR + like-count reading → JSON; all results to Elasticsearch
Other projects
ARCHIVE
Things I built on my own from university through my first year working (around 2019) — the period when I moved from a maths major into ML and web development by self-study. The full site is preserved as-is at /2020/.
2018.10 – 2019.01
Covers drawing lots, check-in, scoring and result statistics, all on the venue LAN. Several USB keypads are told apart with Win32 Raw Input so each judge scores independently; ActiveX controls embed in the web pages, with a spread-limit warning and trimmed-mean scoring.
For an English-conversation school: a dashboard visualizing student attention and teacher metrics from lesson videos.
A big-screen view summarizing metrics across classrooms, teachers and students.
Aggregated behavior metrics (attendance, smiling, hand-raising, …) per student, generating weekly/monthly reports.
Image classification of postures — facing front, looking down, turning away, slumping, standing, etc. — trained and applied with ResNet.
Used 3D-ResNet for classifying human actions that depend on temporal context.
Human keypoints via Detectron2, used for hand-raise detection and counting sit-ups.
A prototype MVC web system doing facial-landmark detection and feature extraction with Dlib.
My first résumé after graduating (image) — written as a 2019 graduate.
2019 · first-resume.png
The above is only a selection. Study notes, detailed screenshots and my profile at the time are all preserved on the 2020 site.
2020 · resume-master
The résumé I used in my 2023 job search (PDF, Chinese): my work and projects in China from 2019 to 2023.
2023 · jia_rui_2023.pdf
The résumé I used in my 2025 job search in Japan (Google Sheets, Japanese).
2025 · Google Sheets
CONTACT
For work inquiries, please reach me by email.