Projects

Selected work spanning AI agent development, ML platform engineering, and production systems.

AI Voice Coach

Founding Engineer · MakeTimeFlow · 2025–Present

Claude API ElevenLabs Ruby on Rails JavaScript Tailwind CSS

As founding engineer at MakeTimeFlow, I’m building the company’s core product: a voice-enabled AI coaching agent that helps professionals manage their time and focus through natural conversation.

The voice coaching concept resonated strongly in paid user interviews, becoming the product’s core differentiator and driving a strategic pivot from a general-purpose SaaS tool toward AI-native positioning. Building on that validated demand, I’m leading v2 development: integrating Claude for reasoning and conversation management with ElevenLabs’ real-time speech API for voice interaction, designing multi-turn conversation management with persistent user context and session state, and building a REST API enabling integration between the AI agent, Claude Code, and external agent workflows.

Beyond the AI agent, I drive the full product lifecycle in close collaboration with the CEO on our three-person team: customer research, product strategy, architecture, and deployment. We pivoted from consumer subscriptions to enterprise contracts based on insights from user research, re-architected the calendar integration system to support real-time webhook sync across multiple providers with an integration-agnostic service layer, and built AI-augmented development workflows (custom Claude Code skills, worktree automation for parallel coding agents) adopted across the dev team.

AI-SERVE Platform

Research Engineer · University of Houston · 2024–2025

Python AWS Lambda SQS RDS PostgreSQL Docker Terraform nginx

AI-SERVE is a $1M+ NSF-funded research platform that uses statistical prediction and constrained optimization to improve emergency food distribution logistics for the Houston Food Bank. I led engineering on the full system, owning the AWS infrastructure, microservices architecture, and data pipeline reliability.

The platform deploys prediction models via AWS Lambda, orchestrates inter-service messaging with SQS, manages PostgreSQL on RDS, and serves the application through nginx reverse proxies on Elastic Beanstalk. I owned the end-to-end system architecture: data pipeline ingestion, API design, model serving, and the integration layer between prediction outputs and user-facing interactive data visualizations.

A critical challenge was executing a cross-account migration of the full microservices stack, moving everything from one AWS account to another without infrastructure-as-code in place. The pain of that migration led me to introduce Terraform and IaC practices to the lab through internal workshops, fundamentally changing how the team approached deployment.

On the related AI-SNIPS project (counterfeit pharmaceutical vendor prediction), I inherited a largely dysfunctional web scraping system and boosted throughput 366% through systematic optimization of proxy management and adversarial domain handling, unblocking the data ingestion layer that was starving the downstream prediction models of training data.

Medical Image Segmentation

ML Engineer · University of Chicago, Dept. of Radiology · 2023–2024

Python PyTorch NumPy U-Net Computer Vision

At the University of Chicago’s Department of Radiology, I developed deep learning segmentation models for detecting ablation zones during histotripsy (therapeutic ultrasound) treatment of renal tumors. Histotripsy destroys tumors using focused sound waves, but it’s difficult to determine from raw ultrasound images how much of the tumor has been successfully ablated. The goal was to build a segmentation model that could provide real-time feedback to surgeons during the procedure, showing the extent of tumor destruction as it happens.

Working in the BADER Lab, I implemented the full PyTorch training pipeline on proprietary medical imaging datasets: data loading, augmentation, the training loop, and evaluation. Through architecture tuning and training pipeline optimization of the U-Net model, I improved baseline segmentation performance by 240%, advancing the pipeline from non-viable predictions to research-grade segmentation on proprietary clinical data.

The dataset was a temporal sequence of ultrasound images from in vitro histotripsy procedures. I built an automated video generation pipeline that produced side-by-side comparison videos of model predictions against ground truth across the full temporal sequence. Watching the videos, we could visually observe and intuit specific failure modes that were invisible when reviewing individual static frames. The pipeline became both a diagnostic tool for accelerating model iteration and a communication tool that let the PI and team immediately understand model behavior without reading metric tables.

I led a three-person research team, and later transitioned into a project management role at Illinois Institute of Technology where I managed a 12-person research team continuing the UChicago collaboration. I coordinated across institutions with the UChicago PI and scaled the team 70% by building a structured onboarding pipeline that sustained growth despite high turnover in research lab environments.

This experience shaped how I think about ML systems: the model is only part of the story. Data quality, pipeline reliability, and evaluation methodology matter just as much as architecture choice. That perspective carries into every production ML system I build today.