MSc Computer Science, Ontario Tech University · Oshawa, ON · open to Toronto / Ottawa / remote
I build language model systems over structured data: a published NLP benchmark with a public dataset, a guarded SQL analytics assistant, and a production research platform migration.
MSc graduate seeking full time applied AI, ML/NLP, or Python backend roles where evaluation, data quality, and system reliability matter.
80.8% F1 open-world · 93.2% F1 with closed-world verifier · 16,126-row public dataset
Natural-language questions name database concepts indirectly, so text-to-SQL systems need a reliable grounding layer. I formalized Database Entity Recognition as sequence labeling over {O, Table, Column, Value}, curated a 1,000 human annotated benchmark from Spider and BIRD, and built a 15,026-example synthetic annotation pipeline that derives labels from paired SQL using AST parsing and integer linear programming. A T5-Large tagger reaches 80.8% F1 open-world; adding a MiniLM verifier that grounds spans against the target schema raises this to 93.2%. Published at IEEE IRI 2025; code is MIT license and the dataset is public under CC BY 4.0.
Answer traceable to source SQL · abstains without data · least-privilege access
A Python/DuckDB analytics assistant that answers business questions over simulated optometry-clinic data. Four mechanisms constrain the model's data path: a sqlglot-parsed SQL allowlist, a presentation database physically separated from the hidden oracle tables, charts and tables built from query results rather than model generated numbers, and exact SQL provenance attached to every answer. In the published scoring harness, every answerable question matched the database, and questions the data could not support were declined rather than answered with invented values. Public code includes offline gate, executor, rendering, and live bypass safety tests. Built on the Hermes agent platform with Open WebUI as the front-end.
GREx Research Platform Migration
2024–2025
Shipped to production · Ontario Tech Faculty of Education
3,400+ multilingual records · 60+ research groups · live deployment
A legacy Symfony/Laravel research platform needed replacing without losing years of multilingual group data. I led the migration to a Dockerized LimeSurvey 6.x + MySQL stack, wrote the Python ETL that imported 3,400+ multilingual records across 60+ research groups through the LimeSurvey REST API with field-mapping and validation passes, built PHP plugin modules and Chart.js dashboards for the reporting views, and deployed the replacement on DigitalOcean behind an Apache reverse proxy with automated TLS. Scope covered the migration plan, the data layer, and the production cutover; the platform remains in use by the faculty.
Web Presence Report
2026
Private client engagement — ongoing
< $1 per run · cost&compliance gates · full audit trail
An automated pipeline for a local optometry clinic that turns its scattered online footprint (Google Business Profile, reviews, PageSpeed, geo-grid rankings, backlinks, page health) into a graded report with a 30/60/90-day action plan. Built-in cost gates (estimated spend approved before any paid API call; a full run is under $1) and human review gates for health content compliance (every clinical claim is flagged for clinician sign off; review text is never reproduced verbatim). LLM used for interpretation only.
LLM-Assisted Exam Marking
2026
Teaching tooling, used with instructor approval
First-pass marking · about $0.15 per student in model cost
A marking assistant for scanned handwritten assignments in a compilers course, built and run with the course instructor's approval. Question page images go to Claude (via OpenRouter) alongside model solutions and rubric rules, and the pipeline returns score suggestions with confidence and legibility ratings, a flag list, and a full audit trail. Flagged questions are read and rescored by the human marker through a scripted adjustment workflow before any mark is released. Prompt caching held model cost to roughly $0.15 per student.
Research & Publications
Publications & Talks
Z. Fu, C. Yang, K. Davoudi, K. Q. Pu. “Database Entity Recognition with Data Augmentation and Deep Learning.” IEEE IRI 2025, San Jose, CA. DOI: 10.1109/IRI66576.2025.00071 ↗
Z. Fu. Database Entity Recognition using Language Models. MSc thesis, Ontario Tech University, defended Apr 2026. Ontario Tech repository ↗
Genuine vs. posed emotion recognition: evaluated computer vision and classical models on the PEDFE facial expression corpus, using ANOVA and correlation analysis to separate performance by data condition rather than reporting one aggregate score. Collaborative course research project.
Instruction-conditioned embedding models: comparison of embedding models under domain specific instructions, with a dataset published to the Hugging Face Hub. Sweep incomplete; documented as such.
Research methods across these: dataset curation and annotation design, benchmark construction, reproducible evaluation and failure analysis, and statistical comparison of model behaviour.
Experience
Research Assistant
May 2026 – Present
Ontario Tech University
Building grounded LLM systems over structured business data: guarded SQL analytics with measured grounding and abstention behaviour, and automated, human-gated reporting pipelines (see Selected Work above).
Sole developer of both systems, in a supervised research role within the database group.
Teaching Assistant
Jan 2024 – Apr 2026
Ontario Tech University
TA every term from the start of my MSc through graduation, across compilers (Kotlin), scientific data analysis, programming workshops, and introductory CS and programming courses, including lab support and exam marking.
Built an LLM-assisted first-pass marking pipeline for handwritten assignments with confidence flagging and human re-scoring of flagged items, with the instructor's approval (see Selected Work above).
GREx Redevelopment Project Manager
Dec 2024 – Apr 2025
Mitch and Leslie Frazer Faculty of Education, Ontario Tech University
Led the migration of the GREx research platform from a legacy Symfony/Laravel stack to a Dockerized LimeSurvey 6.x + MySQL environment; deployed to production on DigitalOcean with automated TLS.
Wrote Python ETL against the LimeSurvey REST API importing 3,400+ multilingual records across 60+ research groups; built PHP plugin modules and Chart.js dashboards.
Owned the migration plan, data layer, and production cutover; coordinated with faculty stakeholders on requirements and hand-off.
Skills
Core
PythonSQLPyTorchHugging Face Transformersscikit-learnpandas / NumPyDuckDBpytestGit/GitHub
I'm looking for full-time applied AI, ML/NLP, and Python backend roles in Canada. If your team builds data-intensive AI systems where correctness and evaluation matter, I'd be glad to talk.