CS Honors student · GenAI engineer · Legal-IR researcher
I build retrieval and LLM systems — RAG pipelines, hybrid search, rerankers, agents — and I like knowing what's underneath them, down to fork-per-connection servers and inode tables in C.
📍 B.Sc. Computer Science Honors @ University of Alberta (Dean's List, class of 2027), with an exchange year at Cal Poly San Luis Obispo.
- 🏗️ Generative AI Engineer Intern @ EY — building an LLM-based worker training & assessment agent for industrial manufacturing: a RAG pipeline over SOP and safety documentation (Python, FastAPI) that generates role-specific assessments, grades free-text answers, and surfaces skill gaps to supervisor dashboards.
- 🔬 Research Intern @ Hokkaido University, Knowledge Base Lab — legal case retrieval for the COLIEE benchmark (details below).
- ⚖️ Founder @ University of Alberta Startup Innovation Center — an on-prem, privacy-first AI platform for compliance-heavy legal workflows: structured case-memory extraction (spaCy NER, semantic deduplication, Pydantic validation) and hybrid document + graph retrieval. Shaped by 10+ interviews with law firms.
Designing and benchmarking multi-stage prior-case retrieval pipelines over 1,870 Canadian Federal Court decisions for the COLIEE legal case retrieval task:
- Lexical stage — BM25 + TF-IDF with legal-aware tokenization, CombSUM fusion, and learned cutoff prediction
- Dense + hybrid stage — BGE embeddings with FAISS indexing fused with the lexical signals
- Reranking & judging — cross-encoder reranking, Random Forest candidate classification, and Qwen-based LLM relevance judging for final precedent selection
Code is private for now under the lab's data-use agreements — happy to talk about it.
| Project | What it is |
|---|---|
| AutoPhisher | Phishing-simulation & security-awareness training platform (React + Flask). Multi-LLM email generation via OpenRouter with strict training-only guardrails. Built with a Cal Poly team. |
| langgraph-quiz-app | Quiz platform on LangGraph agent graphs + Streamlit + SQLAlchemy, running fully local on Ollama — no cloud API keys. |
| Event Lottery System | Android app for fair, lottery-based event registration — Firebase backend, QR check-in, organizer/entrant/admin roles. Team project, agile with CI. |
| multiprocess-http-server | HTTP server in C on raw POSIX sockets with a fork-per-connection process model. No frameworks. |
| file-system-emulator | Unix-style file system emulator in C — inodes, directories, and file operations over a virtual disk. |
- Software Developer Intern @ Interra Systems — multi-product RAG documentation assistant for media QC/monitoring platforms: 1,000+ pages indexed into per-product FAISS knowledge bases, conversation-aware query rewriting, CrossEncoder reranking, a 4-criteria answer-verification agent, and an enterprise FastAPI + Vue.js stack with analytics that surface documentation gaps.
- Software Developer @ Ayodo Foundation — privacy-preserving "Face Type" soft authentication: an OpenCV pipeline (YuNet detection, 68-point landmark fitting, canonical alignment, normalized geometry features) classifying faces into 12 coarse geometric categories instead of identifying individuals.
- Medley Interlisp (open source) — proposed benchmark additions (NEW-BENCH suite) to the Gabriel Lisp benchmarks used by the Medley Interlisp revival project.
Languages — Python · Java · C · C# · JavaScript · SQL · Lisp AI / retrieval — LangChain · LangGraph · FAISS · BGE embeddings · cross-encoder reranking · BM25 · OpenAI / OpenRouter APIs · scikit-learn Backend / frontend — FastAPI · Flask · React · Vue.js · Streamlit · SQLite · Firebase Systems — Unix/POSIX · sockets · processes · Make · Git

