Fangyuan Lin — AI Application Engineer · Ottawa, ON

Hellobonjour.

Research → production: language models, agents, and the systems that make them ship.

M.Eng (ECE) engineer and published researcher who builds complete AI products — fine-tuning, retrieval, agents, evaluation — tested end-to-end and shipped to real users.

Chapter I

Profile

I’m an engineer who turns research into software people can actually use. My work lives at the applied edge of LLMs — fine-tuning, quantization, retrieval, agents — with a systems engineer’s obsession for what happens after the demo: sandboxing, evals, installers, auto-updaters, CI.

Published ML researcher (~93% accuracy) and M.Eng (ECE) graduate of the University of Ottawa, now based in Ottawa. I’ve shipped a cross-platform desktop AI app with its own fine-tuned model, a Dockerized ML service live in the cloud, and an agent-reliability lab that red-teams prompt injection — real products, real users, real failure modes.

Location
Ottawa, ON · Canada
Languages
EN · 中文 · FR
Degree
M.Eng ECE, uOttawa
Research
1 published paper
Flagship
chaty.ca
Focus areas
Applied LLM systems Coding & browser agents RAG & retrieval Fine-tuning · QLoRA Quantization · on-device GPU Agent evals · red-teaming Rust · Tauri · React AWS · Terraform · Docker
Chapter II

Flagship

chaty.ca

Chaty — local, private desktop AI

A cross-platform desktop app that runs open LLMs (GGUF & MLX) on the user’s own hardware — built solo, end to end: the Rust inference engine, the agentic tooling, a fine-tuned model, and the release pipeline.

a

Two inference engines

A persistent llama.cpp actor in Rust — VRAM-aware GPU auto-tuning with OOM back-off — plus a native MLX backend: a process-isolated Swift sidecar with M-RoPE-exact multimodal prefill and cross-turn image KV-cache reuse. Windows on Vulkan, Apple Silicon on Metal.

b

An agentic Code mode

A sandboxed local coding agent that plans, edits, tests and self-corrects on any local model — workspace-confined filesystem, macOS Seatbelt shell, per-action diff approval, context compaction, real-browser automation, local vision — with shipped prompt-injection defenses. Measured on a 45-task SWE-bench Verified subset: its tool loop takes the same 35B-A3B (MoE) model to 15 solved — ahead of qwen-code (12), pi (10), opencode (7) and a bare-bash ablation (6) on identical setups. v2.0 opens it into a platform: a hand-written MCP client with a live-certified server store, markdown skills, and cross-session project memory — every addition budgeted to fit a 16K context.

c

Its own published model

Distilled a 35B-A3B teacher into a 4B Qwen3.5 LoRA fine-tune (GGUF) matching base render quality at ~20% fewer tokens. Held-out, render-based eval: 94% self-identity, 100% RAG citation & refusal. A one-click in-app pick, open on Hugging Face.

d

A whole product, all offline

Local RAG knowledge base (hybrid bge-m3 + BM25, RRF/MMR, grounded hover-citations, OCR), a Deep Research agent that writes cited PDF reports, hands-free voice, an in-app Hugging Face model store — plus release CI and an auto-updater. Bilingual, offline, private.

Code mode on a live 35B model — plans, searches the web, edits files, runs the tests, all locally.
Chapter III

Selected work

hushdoc

client–server local RAG

A client–server take on local RAG — a FastAPI backend serving GPU-accelerated, citation-anchored answers over PDFs, DOCX and images to a React 19 client. Hybrid retrieval with reranking, per-turn language pinning, push-to-talk voice — fully offline, bilingual.

FastAPI · React 19 · llama.cpp · ChromaDB

auditable-agent

LLM-agent reliability lab

A 12-scenario eval suite asserting real side effects — safety, honesty, prompt injection, fault recovery — with an LLM judge and replayable traces. A 3-model study (2B→35B) found direct-bait injection defeats every model size; protocol fixes cut format failures 4 → 0.

Python · local LLMs · pytest · CI

airline-complaint-classifier

research → cloud, deployed

Six classical classifiers benchmarked on a balanced five-class complaint dataset — TF-IDF, linear models leading under 10-fold stratified CV. The champion ships as a Dockerized FastAPI service deployed multi-cloud: AWS Lambda · ECR via Terraform, plus Render, with CI/CD.

scikit-learn · Docker · AWS · Terraform · Render

Windows 98

nostalgia OS · native macOS app

A fully interactive recreation of a lived-in 1998 PC, shipped as a tiny native macOS app — 67 programs, 14 games, a BBS, an AI assistant back-ported 27 years, and working dial-up internet: its own 19-site 1998 web plus a bridge to the real one — modern sites re-rendered in period style, YouTube playing inside a Media Player 98 window. Hand it to Autopilot 98 and BOB, a ghost user with 29 expert skills, works the machine — winning Minesweeper by real deduction, typing letters with typos he then regrets — until ESC takes it back. All functional, all persistent. Zero dependencies: a hand-written HTML/CSS/JS operating system inside a Swift + WKWebView shell, bilingual EN / 繁體中文.

Swift · WKWebView · JavaScript · zero dependencies

Also built
Chapter IV

Experience

  1. Jul — Sep 2023

    NLP Algorithm Engineer, Intern

    Emotibot Technology

    Fine-tuned LLaMA with QLoRA and ran hyperparameter search to improve output quality; applied post-training quantization to shrink the model for cheaper, lower-latency deployment, iterating on prompts end-to-end.

  2. May — Jun 2023

    NLP Engineer, Intern

    Magic Data

    Optimized LLM output quality through systematic prompt engineering and conducted application-level capability assessments of large language models.

Chapter V

Writing

Occasional long-form notes on applied AI, agents, and building things that hold up.

Chapter VI

Contact

Working on something at the applied edge of AI? Let’s talk.

Phone +1 343 368 7929
LinkedIn in/fangyuanlin
GitHub Fangyuan025

Thank you — I’ll get back to you soon.