Projects

I love doing side projects. Here is a sample of them!

Code Generation for Blender Animations

This project explores the intersection of large language models and 3D animation by automating Blender scene creation through natural language prompts. Users can describe the animation they want to create in plain English, and the system leverages LLMs to generate Python scripts that control Blender's API to produce the corresponding 3D animations. The workflow transforms creative ideas into executable code, handling object creation, movement, camera angles, and scene composition. This approach dramatically reduces the technical barrier to 3D animation creation, making it accessible to users without extensive Blender or Python experience. The system demonstrates how AI can serve as a bridge between human creativity and complex technical tools, enabling rapid prototyping and experimentation with animated scenes.

SURGE: A Measurement for Hidden Defensive Impact Big Data Bowl

Big Data Bowl Animation Big Data Bowl Graph

SURGE (Spatial Understanding of Rush & Gap Execution) is an advanced analytics model developed for the NFL Big Data Bowl that quantifies the often-invisible contributions of defensive players. Traditional football statistics fail to capture the full impact of defensive players who don't make the tackle but force runners into worse positions or create opportunities for teammates. Using player tracking data, SURGE employs machine learning to predict tackle probability based on spatial positioning, player velocity, and field geometry. The model then calculates how each defender influences these probabilities throughout a play, revealing which players consistently apply pressure, maintain gap integrity, and force suboptimal decisions by ball carriers. By measuring this "hidden impact," SURGE provides coaches and analysts with a more complete picture of defensive performance, identifying undervalued players whose contributions don't appear in box scores but significantly affect game outcomes.

ChessDistill

ChessDistill Workflow ChessDistill Results

ChessDistill investigates knowledge distillation techniques in reinforcement learning for chess variants, specifically Chess960 (Fischer Random Chess), where standard chess is a special case. The project demonstrates that smaller neural networks can achieve performance comparable to larger models through strategic knowledge transfer. By training a compact "student" model to mimic the decision-making of a larger "teacher" model, ChessDistill achieves significant computational efficiency without substantial performance degradation. This approach is particularly valuable for Chess960, where the randomized starting positions create a vastly larger state space than traditional chess. The research shows that domain knowledge from standard chess can be effectively transferred and compressed, enabling deployment of capable chess engines on resource-constrained devices. The findings have broader implications for making sophisticated AI systems more accessible and efficient across domains where computational resources are limited.