Skip to content

Engineering & CS

Kernels, RISC-V, language models and Android, plus two years of teaching the first three. Everything public is linked.

Projects

011 total

11 projects shown

OSlings

2026

A Rustlings-style CLI that teaches operating systems by making you build a RISC-V kernel, one exercise at a time. The test suite boots your kernel in QEMU and reads the serial console, so a green test means it actually ran.

Adopted for the operating systems course I assist

RustRISC-VQEMUno_std

Learning through Visualization

2026

Does seeing a concept beat reading about it? A survey of 55 students, interviews with three professors, and the literature behind both. Visuals led on understanding, text held on for precision, and the design that survived was neither: teach the same step both ways and let the learner switch.

Course research, ongoing

ResearchMixed methodsJavaScriptPWA

Muxwriter

2025

A desktop screenwriting app whose AI collaborator reads your actual script. It pulls in earlier scenes on its own and proposes edits as diffs you accept or reject, so it never overwrites your words behind your back.

TypeScriptTauriRustFountain

Focusix7

2026

A gamified Android focus timer shaped as a boss fight. Every focused minute damages the villain; opening something you were avoiding raises a full-screen overlay that walls it off until you come back. The 846 tests grew around two bugs that reached real testers, a reward exploit and a migration that locked outfits players had already earned.

Live on Google Play

JavaScriptCapacitorJavaAndroid

Prompt Categories in the SAE Feature Basis of GPT-2

2026

Where inside a language model does “this is a math question” get decided, and does that decision drive what it says next? 300 real prompts, 24,576 sparse features, then activation patching to separate what is causal from what merely correlates.

Built with two others

PythonPyTorchTransformerLensSAELens

Hotel Application

2025

One hotel review and booking application, rebuilt five times across a semester. It starts as a JSON parser and ends as a servlet app on MySQL with sessions, bookings and an agent that answers questions about the reviews. The fourth build was HTTP written on a raw socket, before a framework was allowed.

Coursework, private repository

JavaJettyMySQLLangChain4j

NavU

2025

A 3D interactive campus map built to help students with disabilities get around USF. It reached the last six of more than forty submissions at the USF Innovation Summit.

Top 6 finalist, USF Innovation Summit 2025

JavaScript3DAccessibility

PromptCrafter

2025

A browser extension that rewrites your prompt inside ChatGPT's own input bar, one click, without leaving the page. Spring Boot behind it, with LangChain4j handling the model calls.

Built with one other

JavaSpring BootLangChain4jH2
(opens in a new tab)

Movie Recommender

2025

A content-based recommender over the TMDB dataset. BERT embeddings let it match on what a film is about, so describing a plot you half-remember works as well as naming films you liked.

Source kept private

PythonBERTTMDB

Blender Personal Assistant

2025

A Blender addon that takes plain English and edits the 3D scene. Type “move cube to 1,2,3” or “apply red material to sphere” and it does.

PythonBlenderNLP
(opens in a new tab)

PutDownLookUp

2026

Friends lock up money against an event and earn on-chain reputation for turning up. Built on XRP over a hackathon weekend.

XRPBlockchainHackathon
(opens in a new tab)

Experience

  1. Teaching Assistant

    Aug 2024Present

    University of San Francisco

    • Supporting students and assisting professors across five CS courses, running lab sections, office hours and grading.
    • Natural Language Processing (CS 486/686) and Operating Systems (CS 326), Fall 2026.
    • Computer Architecture (CS 315), Spring and Fall 2026. The RISC-V course: assembly, decoder ROMs and pipeline hazards, marked across the cohort.
    • Intermediate Java and OOP (CS 112), Spring and Fall 2025. Foundations of Program Design (CS 111), Fall 2024.
  2. Associate Software Engineer

    Feb 2026May 2026

    ClearOne Advantage

    • Built an AI conversation training agent that lets employees rehearse live phone calls against a simulated client, with coaching feedback after the call.
    • Led the STT/TTS pipeline and Twilio telephony setup that carried the conversation in real time.
    • Worked across ClearOne's training, product and engineering teams, shipping features through review cycles with the people who used them.
  3. CS Tutor

    Aug 2025May 2026

    University of San Francisco

    • Tutored students across the CS curriculum at USF's walk-in CS tutoring center.
  4. Volunteer Coding Instructor

    Feb 2026Apr 2026

    Breakthrough San Francisco

    • Taught coding to middle school students over a full semester.
    • Designed and delivered lessons for students in the Python programming language.

Education

  • MS, Computer Science

    2025 – 2028

    GPA 4.0

  • BS, Computer Science, AI concentration

    2023 – 2027

    Minor in Film Studies. GPA 3.98, 4.0 across all CS coursework. Thesis: Research in Learning and Pedagogy through Visualization.

University of San Francisco. Dean's Honor Roll, six semesters.

Coursework

004 areas

Assignments and self-directed study, none of it linked. The course repositories are private, because they hold answers to work that gets set again.

Systems and architecture

RISC-V from bit extraction upward: the same routines written in C and in assembly, then a decoder ROM, then pipeline behaviour with forwarding paths and load-use stalls, checked against ROM test programs. A file compressor in C, Huffman coding first and LZ77 layered under it after. In Rust, user-space utilities and process tracking inside a small RISC-V kernel.

AI and machine learning

Search and route planning, a mission planner, and nurse scheduling written as a constraint satisfaction problem. Naive Bayes and decision trees over text. Markov decision processes and reinforcement learning. For language: n-grams, grammars, and word2vec written from scratch rather than imported.

Software development and data structures

A stock analysis system on a red-black tree, campus navigation over a graph, an expression tree evaluator, and a spell checker rebuilt on an AVL tree. Java throughout, with JUnit.

Data visualization

D3 and the web platform under it, worked through Scott Murray's Interactive Data Visualization for the Web with notes, exercises and worked solutions kept for each part. Data bound through the enter and exit joins, bars and scatterplots drawn in SVG, scales from linear through square root, band, ordinal and time, then axes, charts that transition as their data changes, and interaction: hover states and sorting on a click. Self-directed rather than set, and taken up alongside the visualization research.

Skills

Languages
RustCJavaPythonTypeScriptJavaScriptRISC-V AssemblySQL
Systems
Operating systemsComputer architectureRISC-VSystems programmingQEMU
AI and ML
PyTorchNLPBERTLLM integrationSTT/TTSInterpretability
Platforms
AndroidCapacitorTauriSpring BootTwilioGit
Film
DirectionCinematographyEditingScreenwritingBlenderUnreal Engine