open to research assistant & internship roles · ML, robotics, biosignals

McAllister
Blair

Data Science student at UC San Diego (B.S. June 2027), building at the intersection of machine learning, physical systems, and signal processing. Currently an AI engineering intern at ArcellAI, building biosignal data-quality and validation tooling. I'm interested in robotics, imitation/reinforcement learning, autonomous systems, biosignal processing, and applying data science to real-world problems in human health, neuroscience, and intelligent machines.

scroll to explore

Things I've built

6DoF Robot Arm — Imitation Learning

lerobot · so101 · act policy · ps4 teleop · hugging face

imitation learning ACT policy robotics python ubuntu wandb hugging face

Built a 6-degree-of-freedom follower robot arm from hardware assembly through deployment of a trained imitation learning policy. The final system autonomously picks up a block and places it into a bowl.

  • Wrote a custom PS4 teleoperation script for collecting demonstrations
  • Recorded 50+ episodes and trained an ACT policy on the collected trajectories
  • Deployed the trained policy back onto the physical robot and validated it on real hardware

This project gave me hands-on experience debugging a full robotics stack across hardware, webcam input, controller mapping, data collection, and model training on Ubuntu.

ACT policy · training performance open in wandb ↗

Training performance for the ACT policy, trained on recorded teleoperation episodes. Loss decreased from 0.35 to 0.06. The final dataset and model used for training and evaluation are listed on my HuggingFace profile: so101-block-place-final (model) and so101_pick_and_place_v3 (dataset)

Autonomous RC Car — DSC 190

UC San Diego · behavioral cloning · raspberry pi 5 · dsmlp gpu cluster · deep learning

in progress behavioral cloning deep learning robotics python raspberry pi

Hands-on autonomous vehicles course: building, training, and deploying a full autonomy stack on a physical RC car platform, from data collection through on-vehicle inference.

  • Deployed and iterated a full end-to-end behavioral cloning pipeline (DonkeyCar) — driving data collection, model training, and autonomous laps on real hardware
  • Ran training workflows on UCSD's DSMLP GPU cluster and deployed trained models to a Raspberry Pi 5 onboard the vehicle
  • Debugged the full hardware/software stack: camera input, actuation, calibration, and the train-deploy loop between the cluster and the car

Full write-up, code, and results will be posted here at the end of the course.

ECG Analog Front-End + Analysis Pipeline

AD620 instrumentation amp · arduino · python · mne-python · scipy

biosignals data pipeline signal processing hardware

Automated R-peak detection on live ECG (click to enlarge)

AD620-based analog front-end (click to enlarge)

Built a complete, end-to-end hardware and software pipeline to capture, digitally filter, and analyze live human biometrics using off-the-shelf components and Python. The front-end was designed with EEG acquisition as the long-term goal and was first validated on ECG, where the stronger, well-characterized signal made it possible to verify the full analog and digital chain.

  • Analog Hardware: Designed and built a physical amplifier circuit on a breadboard to extract microscopic biological signals while filtering out ambient electrical noise.
  • Digital Telemetry: Engineered a safe hardware bridge to an Arduino, capturing real-time physiological data at a ~190Hz effective sampling rate.
  • Data Pipeline: Developed a custom Python script using PySerial to ingest the live hardware data stream directly into a standard data science environment.
  • Signal Processing: Applied clinical-grade digital bandpass filters (MNE-Python) to remove baseline wander and residual interference from the raw data.
  • Algorithmic Validation: Wrote an automated peak-detection algorithm (SciPy) with a strict voltage floor to accurately isolate heartbeats and calculate a live resting heart rate.

Parkinson's Neurological State Classifier

MNE-BIDS · random forest · permutation testing · signal processing

machine learning eeg biomarkers python scikit-learn
EvaluationROC-AUC
Pooled random split (leaks)0.796
Leave-one-subject-out, 15 subjects0.583
Leave-one-subject-out, 13 subjects0.578
Shuffled-label null (100 perms)0.500

Same features, same model — only the split differs.

A cross-subject EEG decoder for Parkinson's medication state — and an investigation into why its first result was wrong. The original pipeline reported 0.796 ROC-AUC from a random train/test split that leaked subject identity. Rebuilt with leave-one-subject-out evaluation and confound-resistant features, it holds at 0.578 across held-out patients, validated against a permutation null

  • Ingested, filtered, and epoched raw clinical BDF datasets from OpenNeuro using MNE-BIDS, extracting 48 features across 7 sensorimotor channels.
  • Replaced absolute band power with relative power and normalized the PAC modulation index, closing two routes by which per-session recording gain — confounded with the ON/OFF label — leaked into the classifier.
  • Found that the two highest-scoring subjects were the only two flagged in the dataset metadata for a preprocessing mismatch between sessions; excluding them improved 8 of the remaining 13.
  • Validated against a 100-permutation shuffled-label null (0.500 ± 0.012, p = 0.0099).
background

About me

I'm a Data Science student at UC San Diego (B.S. expected June 2027) with a strong foundation in machine learning and statistics. Over the past year, I've been expanding beyond traditional data science coursework by building physical systems, from robotics and imitation learning to low-cost biosignal hardware. This summer I'm an AI engineering intern at ArcellAI, where I'm building a biosignal data viewer and quality-control validation pipeline for clinical EEG/polysomnography data (MNE-Python, fail-fast QC gating, Pydantic schemas).

I recently built a 6-DoF robot arm from scratch, teaching myself hardware assembly, teleoperation, and training an Action Chunking Transformer policy. I've also developed an analog front-end for biosignal acquisition, and I'm currently taking UCSD's Autonomous Vehicles course (DSC 190), training and deploying deep learning autonomy pipelines on a physical RC car.

My long-term goal is to build intelligent systems that meaningfully improve human life, whether through assistive robotics, neuroscience tools, or other real-world applications of machine learning and signal processing. The common idea is using data and intelligent systems in ways that are practical and beneficial to people.

For the 2026–27 academic year, I'm seeking undergraduate research assistant and internship roles in machine learning, robotics, or biosignal processing. Longer term, I'm excited to keep applying these skills to neuroscience, neurotech, and autonomous systems.

  • Robotics, Imitation Learning & Autonomous Systems
  • Embodied AI & Physical ML Systems
  • Biosignal Processing & EEG
  • Neuroscience & Human Cognitive Health
  • Building hardware + software from scratch

currently

Data Science major at UCSD, B.S. June 2027 · AI engineering intern at ArcellAI (biosignal QC tooling) · Building an autonomous RC car in DSC 190 · Open to research assistant & internship roles for 2026–27

Let's connect

Open to research roles, collaborations, and conversations about robotics, machine learning, neuroscience, and autonomous systems.