Jiemin (Jenny) Zhang

Backend and AI engineer

I build FastAPI services and LLM applications that keep working when things go wrong.

Python-first. I design event-driven backends and LLM agents that are measured, not just demoed. I also understand the layer underneath: threads, queues, signals and containers. Twelve years as a corporate accountant taught me to care about correctness, controls and clear numbers.

Email me See my work Download CV

Based in
London
Looking for
Backend and AI engineering roles
Works with
Python, FastAPI, PostgreSQL, Redis, Docker, RAG
Before
Twelve years as a corporate accountant
A request falls back to a second model A request passes through a gateway to an AI service. The first model times out, so the service sends the request to a second model, and the response returns successfully. Request Gateway AI service Model A Model B Response times out fallback answers 200 OK
An LLM call times out. The service switches to a second model and the request still returns. This is the pattern I used in the AI service of AlphaMind.

Selected work

Six projects I can explain in detail. Each page covers what I built, what I decided and what I would improve.

AlphaMind (ft_transcendence)

Team of three · FastAPI microservices

A multi-agent AI research platform for retail investors. I was product owner and backend lead: the three services including the AI service, the database layer, the tests and the CI/CD.

17 containers start with one command

Agent Smith

Python · LLM agent framework · team of two

An autonomous coding agent. It reads a task, writes code, runs it in a sandbox, reads the result, and tries again. Benchmarked on MBPP and SWE-bench across 11 models.

11 models benchmarked on MBPP and SWE-bench

RAG over the vLLM codebase

Python · retrieval-augmented generation

Answers questions about the vLLM repository. Hybrid retrieval over code and documentation, scored on a 100-query benchmark.

Recall@5 of 0.76 on docs and 0.66 on code

treenity

C++ · POSIX message queues

A small Kafka-style message system in C++. Topics keep an ordered log, consumers acknowledge offsets, and the server shuts down cleanly on a signal.

Clean shutdown with live consumers

Codexion

C · POSIX threads

A deterministic scheduler for coders competing for shared USB dongles. FIFO and EDF scheduling, deadlock-free resource acquisition, and a monitor that detects burnout within 10 ms.

200 coders, no burnout, under a second

Call Me Maybe

Python · constrained decoding

Makes a small language model (Qwen3-0.6B) call functions with valid JSON by controlling which tokens it is allowed to produce at every step.

Valid output enforced by token masking

More projects

From the 42 London core curriculum. The code is public on GitHub.

Systems & backend

Concurrency, IPC, networking, containers and services that have to keep running.

  • Inception

    A multi-service Docker Compose stack built from custom Dockerfiles: NGINX with TLS, WordPress with PHP-FPM, MariaDB, plus Redis, Adminer, Portainer and FTP.

    Docker, NGINX, Bash Code
  • The Answer Protocol (TAP)

    A real-time multiplayer text game over a line-based TCP protocol: an async Rust server and command-line clients. Team project.

    Rust, tokio, TCP Code
  • Fly-in

    Routes drones through a graph with zone and link capacity limits, using my own Dijkstra-based planner and a turn-by-turn simulator. No graph libraries.

    Python, Dijkstra, Graphs Code
  • NetPractice

    Network configuration puzzles on IP addressing, subnet masks, gateways and routing tables.

    TCP/IP, Subnetting Code
  • Born2beroot

    A hardened Debian virtual machine: encrypted LVM partitions, SSH, firewall, and strict sudo and password policies.

    Linux, LVM, SSH

Foundations

C and Python fundamentals, algorithms and data structures, written from scratch.

  • Python modules

    Eleven modules on OOP, exceptions, file I/O, abstract classes and protocols, packaging, virtual environments, Pydantic v2 and functional programming.

    Python Code
  • A-Maze-ing

    Maze generation (DFS, Prim, Kruskal) and BFS solving, packaged as a reusable Python module with an interactive viewer.

    Python, Graphs Code
  • Pac-Man

    A Pac-Man game in Python with pygame: game loop, tile-based movement, ghost modes and a state machine.

    Python, pygame Code
  • push_swap

    Sorts a stack with a small set of operations while keeping the move count low.

    C, Algorithms Code
  • libft

    My own C library: string, memory, character and list functions.

    C Code
  • ft_printf

    A reimplementation of printf using variadic arguments.

    C Code
  • get_next_line

    Reads a file line by line with a static buffer and no memory leaks.

    C Code

About

I moved into software engineering after twelve years as a corporate accountant. That work taught me to be exact with numbers, to explain trade-offs to people who do not write code, and to respect controls and audits.

I now use the same habits on software: test what matters, state the limits, and report results as they are. I use AI coding tools and I review, test and take responsibility for what they produce.

Daily use
Python, Git, Linux command line, Docker
Built in AlphaMind
FastAPI, SQLAlchemy 2 and PostgreSQL, Redis (cache and Streams), Qdrant, JWT and OAuth, pytest, GitHub Actions. I learned each one by building it into a working system.
AI engineering
LLM agents, agent memory, RAG, BM25, Reciprocal Rank Fusion, constrained decoding, benchmarking
Worked alongside
Nginx, Prometheus and Grafana, object storage (set up by a teammate in AlphaMind). The Docker sandbox and MCP tool servers in Agent Smith (built by my teammate; I studied them and integrated them with the agent loop).
Working knowledge
C and C++ (POSIX threads, message queues and signals), Bash
Learning next
Running services in production (deployment and monitoring), distributed systems, SQL in depth, Rust
  1. Oct 2025 – now

    42 London

    Project-based software engineering school with no lectures. Selected after the September 2025 Piscine. Completed the Common Core (100%) in October 2026: peer-reviewed projects in systems programming, concurrency, networking, algorithms and AI, every one passed with full marks, including the bonus part wherever a project has one. Now in the 42 Advanced part. Winner of the BearingPoint AI Hackathon at 42 London (48 hours, team of six), December 2025.

  2. Sep 2023 – Jan 2025

    MSc Finance and Investment (Merit), Durham University

    Thesis mark 72 (distinction level): options trading and the stock market, with three years of S&P 500 panel data in R and Python. Also: BSc Financial Management, University of International Business and Economics (2007 – 2011). Qualifications: Microsoft Azure AI Fundamentals (2024), CFA Level I (2023), CICPA (2019).

  3. Aug 2013 – Sep 2023

    Corporate Accountant, Gallup (Beijing)

    Ran end-to-end accounting for the China and Hong Kong entities, taking on more areas over ten years. Built annual budgets, rolling cash-flow forecasts and monthly variance reports for management, and pricing and contract models with the sales and operations teams. Passed every annual financial, tax and internal audit with zero discrepancies.

  4. Jul 2011 – Jul 2013

    Accountant, Schneider Electric (Beijing)

    Top performer in Finance Shared Services, consistently above targets. Standardised reconciliation methods that the whole team adopted; wrote process manuals and trained new hires.

Hiring for a backend or AI engineering role?

jenny.tuetoo@gmail.com

I am based in London. You can also find me on LinkedIn and GitHub.