Full-stack developer and research engineer focused on building educational and AI-powered systems. I design and deploy interactive learning tools that integrate large language models and machine learning to create intuitive, accessible learning experiences.
Current Role: Research Engineer, Renaissance Philanthropy — developing AI-driven educational technologies.
Previous Role: Postdoctoral Scholar, LIVE Initiative (Vanderbilt) — educational game development (Svelte frontend, Rust API) and ML/LLM research.
RoboScape Online is a networked educational robotics simulation platform designed for novice programmers.
It enables students to control virtual robots in a 3D environment, facilitating collaborative learning and remote education.
The platform integrates with a block-based programming language, NetsBlox, to make robotics accessible to beginners.
kidGPT is a research project working to make large language models (LLMs) more accessible for young learners while avoiding potential harms from inappropriate outputs. By training LLMs on age-appropriate, licensed data, we aim to create an ecosystem of transparent, safe tools to allow children to explore how large language models are trained and used.
We wanted to utilize a freshman course for a research study, but needed a way to conduct interviews at scale while also reducing bias. This platform uses AI to conduct anonymous semi-structured interviews with students, allowing researchers to gather qualitative data without needing to perform interviews individually.
Young students learn about computational thinking, machine learning, and AI ethics through an interactive game. Students train and test machine learning models in a custom age-appropriate interface, while also considering the ethical implications of AI technologies.
BloxBuddy - AI Assistant for Block-Based Programming
Technologies Used: TypeScript, OpenAI API
BloxBuddy is an AI-powered assistant designed to help students learn block-based programming in NetsBlox. Students are guided through a conversation designed to keep them on track, while also being helpful without sacrificing the learning process by giving away answers.
Time series gesture recognition blocks for Scratch, using classification models trained with TensorFlow.js in a custom web interface. These blocks allow students to create interactive applications that respond to dynamic body movements.
A browser-based 3D simulator that works out whether a piece of furniture can be
carried up a staircase. Model the stairwell geometry and furniture dimensions, and
a solver searches for a collision-free path using simulated annealing or RRT-Connect,
with a scrubable timeline to replay the trajectory.
Real world application! My girlfriend and I used this to figure out if we could get a 4 foot diameter table top into our apartment. It worked, and we did!
A reinforcement learning demo learning a blackjack strategy.
Q-Learning is a model-free approach (so it has no concept of how the game works at the start), but within a few thousand rounds it should have learned to always hit when under 10, not to hit on a 19 or 20, and be more likely to hit when it has an ace.
A geography guessing game where you identify a secret country from a growing set of
clues. Each valid guess that fits every clue so far earns you another hint, narrowing
the field across capital, population, area, borders, region, and more.