UC Berkeley Haas School of Business · Undergraduate researcher
I develop Python and PyTorch pipelines for multimodal behavioral analysis, extracting facial, vocal, and paralinguistic features from video and audio. These measures support the lab’s research on political ideology, race, and socioeconomic status.
SUMMER 2023 / BERKELEY AI RESEARCH
Evaluating bias in LLM decisions
UC Berkeley AI Research · Student researcher
I built a 1,020-prompt benchmark to study bias in model decisions across healthcare, criminal justice, and business scenarios. I collected model choices and logits from FLAN, Vicuna, LLaMA, and LLaMA 2.
A live compliance assistant for expert-network calls. It warns a banker when the conversation nears inside information, hides flagged passages when the call ends, and gives compliance a rule trace and audit log for every decision.
An agent-run patient advocacy firm that files medical and workplace-injury insurance claims and disputes denials with the insurer. Each case gets its own persistent advocate, and a team of company agents handles intake, review, and growth.
HANDOFF lets agents delegate tasks to peer machines running local models through MCP. I built encrypted task delivery, independent result review, durable task recovery, and test-mode Stripe payments.
Portable C self-tests for five SPI devices with a bounded 29-second scan, plus a health task and watchdog that survive Idle sleep, a start-up self-test radio frame, and a W5500 Ethernet path for DAQ telemetry. Host-tested; hardware validation is pending.
Exploring how model routing, caching, and context management affect cost and answer quality. Includes a literature review and two local prototypes; live-model evaluation is next.
I built a system that turns legal agreements into executable state machines for validation and scenario testing. Multiple agents share context and use validation feedback to refine the output.
An inbox agent router that starts with small local models and escalates when needed. I benchmarked latency and token usage across Ollama, OpenAI, and Claude.
A health task samples all seven ADC1 inputs (battery, main current, continuity, and altimeter current) into a fixed 25-byte log record at 10 Hz once armed. Sensor, GNSS, and storage workers check in, and the independent watchdog is refreshed only when every running worker has, including through 10-second Stop-mode sleeps. The board reports its reset cause and sends a self-test frame over the radio before its first heartbeat, with three bounded attempts. All 26 flight test stages pass; I broke 13 guarded behaviors one at a time to confirm each turns a test red.
The flight computer could identify its W5500 Ethernet chip but had no data path. I added a bounded UDP driver and a separate network task that sends the DAQ’s existing heartbeat and sensor packets. It discovers the ground server, ignores invalid and actuator packets, drops stale samples, and recovers from link, SPI, and cable failures. Six suites pass under ASan and UBSan, and the STM32H723 build fits in 73 KB of flash. Networking stays disabled until addressing is signed off.
I built a portable C self-test coordinator and datasheet-backed SPI checks for the ISM330DHCX, H3LIS100DL, MS5611, W5500, and SX1262. It schedules probes, limits retries, and reports required and optional device results. A follow-up bounds the whole scan to 29 seconds, marks stalled devices as timed out so the board can still reach Idle, and applies the board requirements the hardware lead confirmed. I also documented how the checks fit the new radio and IMU drivers, including a reproduced IMU reset-timeout bug.
I built C++ support for an environmental sensor board, parsing UDP packets for temperature, humidity, and pressure telemetry. I integrated the board into STAR’s configuration, data streams, and monitoring interface. Tested in simulation; physical-board validation is pending.
B.S. in Electrical Engineering & Computer Science and Industrial Engineering & Operations Research
AUG 2026–PRESENT
Software Engineer · Berkeley STAR
Built C++ environmental sensor telemetry and flight-computer firmware: a portable C self-test coordinator with five SPI device checks, a health task and watchdog that survive sleep, and a W5500 UDP telemetry transport. Host-tested; hardware validation is pending.
NOV 2024–AUG 2026
Founder · CueLens
Built assistive AI for facial emotion recognition. Interviewed 50+ clinicians and users and secured partnerships with three autism clinics.
SUMMERS 2024 & 2025
Software Engineering Intern · Mirro.ai
Created a balanced dataset of 40,000+ videos and images to reduce bias in an emotion-recognition model. Integrated the model into robotics applications.
NOV 2026 / SELECTED PROJECT
Blink
Co-built a live compliance assistant for expert-network calls at the Berkeley Business Society × Ramp hackathon. It flags inside information as the call happens and hides it until compliance reviews it.
Co-built an agent-run insurance claims advocacy firm at a hackathon, with a persistent advocate per case and company agents for intake, review, and growth.
Built HANDOFF at Y Combinator’s Make Something Agents Want hackathon: an MCP marketplace for tasks executed by local models, with encrypted results, independent review, and test-mode payments.
This portfolio’s code does not include advertising, analytics, tracking cookies, or a contact form. It saves your light or dark theme choice in your browser’s local storage. You can remove that preference by clearing this site’s browser data.
A separate preview is hosted through OpenAI Sites on Cloudflare. Its hosting and sign-in services may process technical information, such as IP addresses, browser details, and access logs.
External links and email
Spotify and other external links open separate websites with their own privacy policies. No Spotify player is embedded here. If you email me, I receive your address and the information you choose to send through my email provider.
The site supports keyboard navigation, light and dark themes, and your device’s reduced-motion setting. ASCII animations play briefly, then stop. The resume summary is available as text alongside the PDF.